├── .github ├── FUNDING.yml └── workflows │ └── main.yml ├── .gitignore ├── BUILDING.md ├── Code ├── AIDemoInput.h ├── AVMine.cpp ├── AVMine.h ├── Actor.cpp ├── Actor.h ├── Alien.cpp ├── Alien.h ├── AmmoParams.cpp ├── AmmoParams.h ├── AmmoPickup.cpp ├── AmmoPickup.h ├── Automatic.cpp ├── Automatic.h ├── Beam.cpp ├── Beam.h ├── Binocular.cpp ├── Binocular.h ├── Bullet.cpp ├── Bullet.h ├── BulletTime.cpp ├── BulletTime.h ├── Burst.cpp ├── Burst.h ├── C4.cpp ├── C4.h ├── C4Detonator.cpp ├── C4Detonator.h ├── C4Projectile.cpp ├── C4Projectile.h ├── Charge.cpp ├── Charge.h ├── Claymore.cpp ├── Claymore.h ├── ClientSynchedStorage.cpp ├── ClientSynchedStorage.h ├── CompatibilityAlienMovementController.cpp ├── CompatibilityAlienMovementController.h ├── CryEngine │ ├── CryAction │ │ ├── IActionMapManager.h │ │ ├── IActorSystem.h │ │ ├── IAnimatedCharacter.h │ │ ├── IAnimationGraph.h │ │ ├── IAnimationStateNode.h │ │ ├── IDebrisMgr.h │ │ ├── IEffectSystem.h │ │ ├── IGameObject.h │ │ ├── IGameObjectSystem.h │ │ ├── IGameRulesSystem.h │ │ ├── IGameplayRecorder.h │ │ ├── IInteractor.h │ │ ├── IItem.h │ │ ├── IItemSystem.h │ │ ├── ILevelSystem.h │ │ ├── ILoadGame.h │ │ ├── IMovementController.h │ │ ├── IPlayerProfiles.h │ │ ├── ISaveGame.h │ │ ├── ISubtitleManager.h │ │ ├── IUIDraw.h │ │ ├── IVehicleSystem.h │ │ ├── IViewSystem.h │ │ ├── IWeapon.h │ │ ├── IWorldQuery.h │ │ └── Network │ │ │ └── NetActionSync.h │ └── CryCommon │ │ ├── AABBSV.h │ │ ├── AIFormationDescriptor.h │ │ ├── AITrackPatternDescriptor.h │ │ ├── AgentParams.h │ │ ├── AnimKey.h │ │ ├── BitFiddling.h │ │ ├── BitmapDilation.h │ │ ├── CGFContent.h │ │ ├── COWArray.h │ │ ├── CoherentValue.h │ │ ├── ConfigurableVariant.h │ │ ├── CrtDebugStats.h │ │ ├── CryAnimationScriptCommands.h │ │ ├── CryArray.h │ │ ├── CryAssert.h │ │ ├── CryAssert_impl.h │ │ ├── CryCharAnimationParams.h │ │ ├── CryCharMorphParams.h │ │ ├── CryCommon.cpp │ │ ├── CryCommon.vcproj │ │ ├── CryCommon.vcxproj │ │ ├── CryCommon.vcxproj.filters │ │ ├── CryCompiledFile.h │ │ ├── CryEngineDecalInfo.h │ │ ├── CryFile.h │ │ ├── CryFixedString.h │ │ ├── CryHeaders.h │ │ ├── CryLibrary.h │ │ ├── CryMemoryAllocator.h │ │ ├── CryMemoryManager.h │ │ ├── CryMemoryManager_impl.h │ │ ├── CryModuleDefs.h │ │ ├── CryName.h │ │ ├── CryParticleSpawnInfo.h │ │ ├── CryPath.h │ │ ├── CryPodArray.h │ │ ├── CrySizer.h │ │ ├── CryString.h │ │ ├── CryStructPack.cpp │ │ ├── CryStructPack.h │ │ ├── CryThread.h │ │ ├── CryThreadImpl.h │ │ ├── CryThreadImpl_pthreads.h │ │ ├── CryThreadImpl_windows.h │ │ ├── CryThread_pthreads.h │ │ ├── CryThread_ptw32.h │ │ ├── CryThread_windows.h │ │ ├── CryThread_wingc.h │ │ ├── CryThread_winthread.h │ │ ├── CryTypeInfo.h │ │ ├── CryVersion.h │ │ ├── CryVertexBinding.h │ │ ├── Cry_Camera.h │ │ ├── Cry_Color.h │ │ ├── Cry_Geo.h │ │ ├── Cry_GeoDistance.h │ │ ├── Cry_GeoIntersect.h │ │ ├── Cry_GeoOverlap.h │ │ ├── Cry_Math.h │ │ ├── Cry_Matrix.h │ │ ├── Cry_Quat.h │ │ ├── Cry_ValidNumber.h │ │ ├── Cry_Vector2.h │ │ ├── Cry_Vector3.h │ │ ├── Cry_XOptimise.h │ │ ├── Endian.h │ │ ├── EntityDesc.h │ │ ├── Force.h │ │ ├── FrameProfiler.h │ │ ├── GameUtils.h │ │ ├── GeomQuery.h │ │ ├── I3DEngine.h │ │ ├── I3DSampler.h │ │ ├── IAIAction.h │ │ ├── IAIGroup.h │ │ ├── IAIRecorder.h │ │ ├── IAISystem.h │ │ ├── IAVI_Reader.h │ │ ├── IAgent.h │ │ ├── IAnimationGraphSystem.h │ │ ├── IBitStream.h │ │ ├── IBudgetingSystem.h │ │ ├── IChunkFile.h │ │ ├── ICmdLine.h │ │ ├── IConsole.h │ │ ├── ICryAnimation.h │ │ ├── ICryPak.h │ │ ├── IDataProbe.h │ │ ├── IDebugHistory.h │ │ ├── IDialogSystem.h │ │ ├── IDirectBee.h │ │ ├── IEdgeConnectivityBuilder.h │ │ ├── IEditorGame.h │ │ ├── IEntity.h │ │ ├── IEntityClass.h │ │ ├── IEntityProxy.h │ │ ├── IEntityRenderState.h │ │ ├── IEntitySerialize.h │ │ ├── IEntitySystem.h │ │ ├── IFacialAnimation.h │ │ ├── IFlashPlayer.h │ │ ├── IFlowSystem.h │ │ ├── IFont.h │ │ ├── IGame.h │ │ ├── IGameFramework.h │ │ ├── IGameRef.h │ │ ├── IGameStartup.h │ │ ├── IGameTokens.h │ │ ├── IGlobalTaskScheduler.h │ │ ├── IHardwareMouse.h │ │ ├── IIndexedMesh.h │ │ ├── IInput.h │ │ ├── IInterestSystem.h │ │ ├── IJoystick.h │ │ ├── ILMSerializationManager.h │ │ ├── ILipSync.h │ │ ├── ILog.h │ │ ├── IMaterial.h │ │ ├── IMaterialEffects.h │ │ ├── IMiniLog.h │ │ ├── IMovieSystem.h │ │ ├── IMusicSystem.h │ │ ├── INetwork.h │ │ ├── INetworkService.h │ │ ├── IPhysics.h │ │ ├── IProcess.h │ │ ├── IReadWriteXMLSink.h │ │ ├── IRemoteControl.h │ │ ├── IRenderAuxGeom.h │ │ ├── IRenderMesh.h │ │ ├── IRenderer.h │ │ ├── IRendererD3D9.h │ │ ├── IResourceCollector.h │ │ ├── IReverbManager.h │ │ ├── IScriptSystem.h │ │ ├── ISerialize.h │ │ ├── IShader.h │ │ ├── ISimpleHttpServer.h │ │ ├── ISound.h │ │ ├── ISoundMoodManager.h │ │ ├── ISplines.h │ │ ├── IStatObj.h │ │ ├── IStreamEngine.h │ │ ├── IStreamPersist.h │ │ ├── ISurfaceType.h │ │ ├── ISystem.h │ │ ├── ITestSystem.h │ │ ├── ITextModeConsole.h │ │ ├── IThreadTask.h │ │ ├── ITimer.h │ │ ├── IValidator.h │ │ ├── IVideoPlayer.h │ │ ├── IXml.h │ │ ├── InterpolationHelpers.h │ │ ├── LMCompStructures.h │ │ ├── Linux32Specific.h │ │ ├── Linux64Specific.h │ │ ├── LinuxSpecific.h │ │ ├── Linux_Win32Wrapper.h │ │ ├── MSVCspecific.h │ │ ├── MTPseudoRandom.cpp │ │ ├── MTPseudoRandom.h │ │ ├── MiniQueue.h │ │ ├── MultiThread.h │ │ ├── NetHelpers.h │ │ ├── PNoise3.h │ │ ├── ParticleParams.h │ │ ├── ParticleParamsTypeInfo.cpp │ │ ├── ParticleParams_info.h │ │ ├── Pipe.h │ │ ├── PoolAllocator.h │ │ ├── PoolAllocatorSynchronization.h │ │ ├── ProjectDefines.h │ │ ├── ProjectDefinesInclude.h │ │ ├── Range.h │ │ ├── RendElement.h │ │ ├── ResourceCompilerHelper.h │ │ ├── STLPoolAllocator.h │ │ ├── STLPoolAllocator_ManyElems.h │ │ ├── ScopedVariableSetter.h │ │ ├── ScriptHelpers.h │ │ ├── SerializationTypes.h │ │ ├── SerializeBuffer.h │ │ ├── SerializeFwd.h │ │ ├── SimpleSerialize.h │ │ ├── StlDbgAlloc.h │ │ ├── StlUtils.h │ │ ├── StringUtils.h │ │ ├── TArray.h │ │ ├── TimeValue.h │ │ ├── TypeInfo.h │ │ ├── TypeInfo_impl.h │ │ ├── Typelist.h │ │ ├── TypelistUtils.h │ │ ├── VectorMap.h │ │ ├── VectorSet.h │ │ ├── VertexBufferSource.h │ │ ├── VertexFormats.h │ │ ├── Win32specific.h │ │ ├── Win64specific.h │ │ ├── WinBase.cpp │ │ ├── XMLBinaryHeaders.h │ │ ├── crc32.h │ │ ├── functor.h │ │ ├── physinterface.h │ │ ├── platform.h │ │ ├── platform_impl.h │ │ ├── primitives.h │ │ └── smartptr.h ├── Crysis.ico ├── CrysisMod.sln ├── Cursor_White.cur ├── DebugGun.cpp ├── DebugGun.h ├── Detonate.cpp ├── Detonate.h ├── DllMain.cpp ├── EMPField.cpp ├── EMPField.h ├── Environment │ ├── BattleDust.cpp │ ├── BattleDust.h │ ├── FlowTornado.cpp │ ├── FlowTornado.h │ ├── Shake.cpp │ ├── Shake.h │ ├── Tornado.cpp │ └── Tornado.h ├── Fists.cpp ├── Fists.h ├── FlashAnimation.cpp ├── FlashAnimation.h ├── FlowItemAnimation.cpp ├── FlowItemAnimation.h ├── FlowVehicleNodes.cpp ├── FreezingBeam.cpp ├── FreezingBeam.h ├── Game.cpp ├── Game.h ├── GameActions.actions ├── GameActions.cpp ├── GameActions.h ├── GameCVars.cpp ├── GameCVars.h ├── GameDll.cpp ├── GameDll.rc ├── GameDll.vcproj ├── GameDll.vcxproj ├── GameDll.vcxproj.filters ├── GameFactory.cpp ├── GameFactory.h ├── GameRules.cpp ├── GameRules.h ├── GameRulesClientServer.cpp ├── GrabHandler.cpp ├── GrabHandler.h ├── GunTurret.cpp ├── GunTurret.h ├── HUD │ ├── FlashPlayerNULL.h │ ├── GameFlashAnimation.cpp │ ├── GameFlashAnimation.h │ ├── GameFlashLogic.cpp │ ├── GameFlashLogic.h │ ├── HUD.cpp │ ├── HUD.h │ ├── HUDAirStrike.cpp │ ├── HUDCommon.cpp │ ├── HUDCommon.h │ ├── HUDCrosshair.cpp │ ├── HUDCrosshair.h │ ├── HUDEnums.h │ ├── HUDInterfaceEffects.cpp │ ├── HUDMissionObjectiveSystem.cpp │ ├── HUDMissionObjectiveSystem.h │ ├── HUDObituary.cpp │ ├── HUDObituary.h │ ├── HUDObject.cpp │ ├── HUDObject.h │ ├── HUDPDA.cpp │ ├── HUDPowerStruggle.cpp │ ├── HUDPowerStruggle.h │ ├── HUDRadar.cpp │ ├── HUDRadar.h │ ├── HUDScopes.cpp │ ├── HUDScopes.h │ ├── HUDScore.cpp │ ├── HUDScore.h │ ├── HUDSilhouettes.cpp │ ├── HUDSilhouettes.h │ ├── HUDSoundImpl.cpp │ ├── HUDTagNames.cpp │ ├── HUDTagNames.h │ ├── HUDTextArea.cpp │ ├── HUDTextArea.h │ ├── HUDTextChat.cpp │ ├── HUDTextChat.h │ ├── HUDTextEvents.cpp │ ├── HUDVehicleInterface.cpp │ ├── HUDVehicleInterface.h │ ├── HUDWeaponAccessories.cpp │ ├── ScriptBind_HUD.cpp │ ├── ScriptBind_HUD.h │ └── Tweaks │ │ ├── HUDTweakMenu.cpp │ │ ├── HUDTweakMenu.h │ │ ├── TweakCommon.cpp │ │ ├── TweakCommon.h │ │ ├── TweakMenu.cpp │ │ ├── TweakMenu.h │ │ ├── TweakMetadata.cpp │ │ ├── TweakMetadata.h │ │ ├── TweakMetadataCVAR.cpp │ │ ├── TweakMetadataCVAR.h │ │ ├── TweakMetadataLUA.cpp │ │ ├── TweakMetadataLUA.h │ │ ├── TweakTraverser.cpp │ │ └── TweakTraverser.h ├── HomingMissile.cpp ├── HomingMissile.h ├── Hunter.cpp ├── Hunter.h ├── IPlayerInput.h ├── IronSight.cpp ├── IronSight.h ├── Item.cpp ├── Item.h ├── ItemAccessory.cpp ├── ItemClientServer.cpp ├── ItemDualWield.cpp ├── ItemEffect.cpp ├── ItemEvents.cpp ├── ItemParamReader.h ├── ItemParams.cpp ├── ItemResource.cpp ├── ItemScheduler.cpp ├── ItemScheduler.h ├── ItemSharedParams.cpp ├── ItemSharedParams.h ├── ItemString.h ├── ItemView.cpp ├── LCD │ ├── ILCD.h │ └── LCDWrapper.h ├── Lam.cpp ├── Lam.h ├── LaptopUtil.cpp ├── LaptopUtil.h ├── MPTutorial.cpp ├── MPTutorial.h ├── Melee.cpp ├── Melee.h ├── Menus │ ├── CreateGame.cpp │ ├── CreateGame.h │ ├── FlashMenuObject.cpp │ ├── FlashMenuObject.h │ ├── FlashMenuObjectOptions.cpp │ ├── FlashMenuObjectProfiles.cpp │ ├── FlashMenuObjectSingleplayer.cpp │ ├── FlashMenuScreen.cpp │ ├── FlashMenuScreen.h │ ├── GameNetworkProfile.cpp │ ├── GameNetworkProfile.h │ ├── MPHub.cpp │ ├── MPHub.h │ ├── MPLobbyUI.cpp │ ├── MPLobbyUI.h │ ├── MultiplayerMenu.cpp │ ├── MultiplayerMenu.h │ ├── OptionsManager.cpp │ ├── OptionsManager.h │ ├── QuickGame.cpp │ └── QuickGame.h ├── NanoSuit.cpp ├── NanoSuit.h ├── NetInputChainDebug.cpp ├── NetInputChainDebug.h ├── NetPlayerInput.cpp ├── NetPlayerInput.h ├── Nodes │ ├── FlowActorSensor.cpp │ ├── FlowFadeNode.cpp │ ├── FlowHitInfoNode.cpp │ ├── FlowNanoSuitNodes.cpp │ ├── FlowPlayerStagingNode.cpp │ ├── FlowPostFXNodes.cpp │ ├── G2FlowBaseNode.h │ ├── HUDNodes.cpp │ ├── MPNodes.cpp │ └── WeaponNodes.cpp ├── Observer.cpp ├── Observer.h ├── OffHand.cpp ├── OffHand.h ├── Plant.cpp ├── Plant.h ├── Player.cpp ├── Player.h ├── PlayerFeature.cpp ├── PlayerFeature.h ├── PlayerInput.cpp ├── PlayerInput.h ├── PlayerMovement.cpp ├── PlayerMovement.h ├── PlayerMovementController.cpp ├── PlayerMovementController.h ├── PlayerRotation.cpp ├── PlayerRotation.h ├── PlayerView.cpp ├── PlayerView.h ├── Projectile.cpp ├── Projectile.h ├── Radio.cpp ├── Radio.h ├── Rapid.cpp ├── Rapid.h ├── ReferenceWeapon.cpp ├── ReferenceWeapon.h ├── Rock.cpp ├── Rock.h ├── Rocket.cpp ├── Rocket.h ├── RocketLauncher.cpp ├── RocketLauncher.h ├── SPAnalyst.cpp ├── SPAnalyst.h ├── Scan.cpp ├── Scan.h ├── Scope.cpp ├── Scope.h ├── Scout.cpp ├── Scout.h ├── ScreenEffects.cpp ├── ScreenEffects.h ├── ScriptBind_Actor.cpp ├── ScriptBind_Actor.h ├── ScriptBind_Game.cpp ├── ScriptBind_Game.h ├── ScriptBind_GameRules.cpp ├── ScriptBind_GameRules.h ├── ScriptBind_Item.cpp ├── ScriptBind_Item.h ├── ScriptBind_Weapon.cpp ├── ScriptBind_Weapon.h ├── ScriptControlledPhysics.cpp ├── ScriptControlledPhysics.h ├── ScriptUtils.cpp ├── ScriptUtils.h ├── ServerSynchedStorage.cpp ├── ServerSynchedStorage.h ├── Shaders │ ├── DrawTexture.ps.hlsl │ └── FullScreenTri.vs.hlsl ├── Shark.cpp ├── Shark.h ├── SharkMovementController.cpp ├── SharkMovementController.h ├── ShotValidator.cpp ├── ShotValidator.h ├── Shotgun.cpp ├── Shotgun.h ├── Single.cpp ├── Single.h ├── SingleTG.cpp ├── SingleTG.h ├── SoundMoods.cpp ├── SoundMoods.h ├── StdAfx.cpp ├── StdAfx.h ├── SynchedStorage.cpp ├── SynchedStorage.h ├── TacBullet.cpp ├── TacBullet.h ├── TagBullet.cpp ├── TagBullet.h ├── ThirdParty │ ├── ForceTubeVR │ │ ├── bin │ │ │ ├── ForceTubeVR_API_x32.dll │ │ │ ├── ForceTubeVR_API_x32.lib │ │ │ ├── ForceTubeVR_API_x64.dll │ │ │ └── ForceTubeVR_API_x64.lib │ │ └── include │ │ │ └── protubevr.h │ ├── bhaptics │ │ ├── .gitignore │ │ ├── CHANGELOG.md │ │ ├── LICENSE │ │ ├── README.md │ │ ├── bin │ │ │ ├── win32 │ │ │ │ ├── haptic_library.dll │ │ │ │ └── haptic_library.lib │ │ │ └── win64 │ │ │ │ ├── haptic_library.dll │ │ │ │ └── haptic_library.lib │ │ └── include │ │ │ └── shared │ │ │ ├── HapticLibrary.h │ │ │ └── model.h │ ├── c1-launcher │ │ ├── .gitattributes │ │ ├── .gitignore │ │ ├── CHANGELOG.md │ │ ├── CMakeLists.txt │ │ ├── Code │ │ │ ├── CryCommon │ │ │ │ ├── CryGame │ │ │ │ │ ├── IGameRef.h │ │ │ │ │ └── IGameStartup.h │ │ │ │ └── CrySystem │ │ │ │ │ ├── CryColorCode.h │ │ │ │ │ ├── IConsole.h │ │ │ │ │ ├── ICryPak.h │ │ │ │ │ ├── ILog.h │ │ │ │ │ ├── ISystem.cpp │ │ │ │ │ ├── ISystem.h │ │ │ │ │ └── IValidator.h │ │ │ ├── Launcher │ │ │ │ ├── CPUInfo.cpp │ │ │ │ ├── CPUInfo.h │ │ │ │ ├── CryRender.h │ │ │ │ ├── DedicatedServer │ │ │ │ │ ├── DedicatedServerLauncher.cpp │ │ │ │ │ ├── DedicatedServerLauncher.h │ │ │ │ │ ├── Main.cpp │ │ │ │ │ └── Resources.h │ │ │ │ ├── Editor │ │ │ │ │ ├── EditorLauncher.cpp │ │ │ │ │ ├── EditorLauncher.h │ │ │ │ │ ├── Main.cpp │ │ │ │ │ └── Resources.h │ │ │ │ ├── Game │ │ │ │ │ ├── GameLauncher.cpp │ │ │ │ │ ├── GameLauncher.h │ │ │ │ │ ├── LanguageHook.cpp │ │ │ │ │ ├── LanguageHook.h │ │ │ │ │ ├── Main.cpp │ │ │ │ │ └── Resources.h │ │ │ │ ├── HeadlessServer │ │ │ │ │ ├── HeadlessServerLauncher.cpp │ │ │ │ │ ├── HeadlessServerLauncher.h │ │ │ │ │ ├── Logger.cpp │ │ │ │ │ ├── Logger.h │ │ │ │ │ ├── Main.cpp │ │ │ │ │ └── NullValidator.h │ │ │ │ ├── LauncherCommon.cpp │ │ │ │ ├── LauncherCommon.h │ │ │ │ ├── MemoryPatch.cpp │ │ │ │ └── MemoryPatch.h │ │ │ └── Library │ │ │ │ ├── CPUID.cpp │ │ │ │ ├── CPUID.h │ │ │ │ ├── CrashLogger.cpp │ │ │ │ ├── CrashLogger.h │ │ │ │ ├── EXELoader.cpp │ │ │ │ ├── EXELoader.h │ │ │ │ ├── OS.cpp │ │ │ │ ├── OS.h │ │ │ │ ├── PathTools.cpp │ │ │ │ ├── PathTools.h │ │ │ │ ├── StdFile.h │ │ │ │ ├── StringFormat.cpp │ │ │ │ ├── StringFormat.h │ │ │ │ ├── StringTools.cpp │ │ │ │ ├── StringTools.h │ │ │ │ ├── StringView.cpp │ │ │ │ └── StringView.h │ │ ├── CppProperties.json │ │ ├── Dockerfile │ │ ├── Project.h.in │ │ ├── README.md │ │ └── Resources │ │ │ ├── Crysis.ico │ │ │ ├── Crysis.rc │ │ │ ├── CrysisWarhead.ico │ │ │ ├── CrysisWarhead.rc │ │ │ ├── CrysisWars.ico │ │ │ ├── CrysisWars.rc │ │ │ ├── CursorAmber.cur │ │ │ ├── CursorBlue.cur │ │ │ ├── CursorGreen.cur │ │ │ ├── CursorRed.cur │ │ │ ├── CursorWhite.cur │ │ │ ├── DedicatedServer.ico │ │ │ ├── DedicatedServer.rc │ │ │ ├── DedicatedServerIcon.ico │ │ │ ├── DedicatedServerLauncher.rc │ │ │ ├── Editor.ico │ │ │ ├── Editor.rc │ │ │ ├── GameIcon.ico │ │ │ ├── GameLauncher.rc │ │ │ ├── HeadlessServer.rc │ │ │ ├── HeadlessServerLauncher.rc │ │ │ ├── Launcher.manifest │ │ │ └── Manifests │ │ │ ├── DpiAwareness.manifest │ │ │ ├── EnableVisualStyles.manifest │ │ │ ├── TrustInfo.manifest │ │ │ ├── VC80_CRT.manifest │ │ │ └── VC80_MFC.manifest │ ├── imgui │ │ ├── .editorconfig │ │ ├── .gitattributes │ │ ├── .gitignore │ │ ├── LICENSE.txt │ │ ├── backends │ │ │ ├── imgui_impl_dx10.cpp │ │ │ ├── imgui_impl_dx10.h │ │ │ ├── imgui_impl_dx11.cpp │ │ │ ├── imgui_impl_dx11.h │ │ │ ├── imgui_impl_dx9.cpp │ │ │ ├── imgui_impl_dx9.h │ │ │ ├── imgui_impl_win32.cpp │ │ │ └── imgui_impl_win32.h │ │ ├── imconfig.h │ │ ├── imgui.cpp │ │ ├── imgui.h │ │ ├── imgui_demo.cpp │ │ ├── imgui_draw.cpp │ │ ├── imgui_internal.h │ │ ├── imgui_markdown.h │ │ ├── imgui_tables.cpp │ │ ├── imgui_widgets.cpp │ │ ├── imstb_rectpack.h │ │ ├── imstb_textedit.h │ │ ├── imstb_truetype.h │ │ └── misc │ │ │ └── debuggers │ │ │ ├── imgui.natstepfilter │ │ │ └── imgui.natvis │ ├── minhook │ │ ├── .editorconfig │ │ ├── AUTHORS.txt │ │ ├── LICENSE.txt │ │ ├── README.md │ │ ├── include │ │ │ └── MinHook.h │ │ └── src │ │ │ ├── buffer.c │ │ │ ├── buffer.h │ │ │ ├── hde │ │ │ ├── hde32.c │ │ │ ├── hde32.h │ │ │ ├── hde64.c │ │ │ ├── hde64.h │ │ │ ├── pstdint.h │ │ │ ├── table32.h │ │ │ └── table64.h │ │ │ ├── hook.c │ │ │ ├── trampoline.c │ │ │ └── trampoline.h │ └── openxr │ │ ├── LICENSE │ │ ├── include │ │ └── openxr │ │ │ ├── openxr.h │ │ │ ├── openxr_platform.h │ │ │ ├── openxr_platform_defines.h │ │ │ ├── openxr_reflection.h │ │ │ ├── openxr_reflection_parent_structs.h │ │ │ └── openxr_reflection_structs.h │ │ └── lib │ │ ├── openxr_loader.lib │ │ └── win32 │ │ └── openxr_loader.lib ├── Throw.cpp ├── Throw.h ├── ThrowableWeapon.cpp ├── ThrowableWeapon.h ├── TracerManager.cpp ├── TracerManager.h ├── Trooper.cpp ├── Trooper.h ├── VR │ ├── D3DHooks.cpp │ ├── EVRHand.h │ ├── HandPoses.cpp │ ├── HandPoses.h │ ├── Hooks.cpp │ ├── Hooks.h │ ├── OpenXRInput.cpp │ ├── OpenXRInput.h │ ├── OpenXRRuntime.cpp │ ├── OpenXRRuntime.h │ ├── VRGui.cpp │ ├── VRGui.h │ ├── VRHaptics.cpp │ ├── VRHaptics.h │ ├── VRManager.cpp │ ├── VRManager.h │ ├── VRRenderUtils.cpp │ ├── VRRenderUtils.h │ ├── VRRenderer.cpp │ └── VRRenderer.h ├── VehicleActionAutomaticDoor.cpp ├── VehicleActionAutomaticDoor.h ├── VehicleActionDeployRope.cpp ├── VehicleActionDeployRope.h ├── VehicleActionEntityAttachment.cpp ├── VehicleActionEntityAttachment.h ├── VehicleActionLandingGears.cpp ├── VehicleActionLandingGears.h ├── VehicleClient.cpp ├── VehicleClient.h ├── VehicleDamageBehaviorBurn.cpp ├── VehicleDamageBehaviorBurn.h ├── VehicleDamageBehaviorCameraShake.cpp ├── VehicleDamageBehaviorCameraShake.h ├── VehicleDamageBehaviorCollisionEx.cpp ├── VehicleDamageBehaviorCollisionEx.h ├── VehicleDamageBehaviorExplosion.cpp ├── VehicleDamageBehaviorExplosion.h ├── VehicleDamageBehaviorTire.cpp ├── VehicleDamageBehaviorTire.h ├── VehicleMovementAmphibious.cpp ├── VehicleMovementAmphibious.h ├── VehicleMovementBase.cpp ├── VehicleMovementBase.h ├── VehicleMovementHelicopter.cpp ├── VehicleMovementHelicopter.h ├── VehicleMovementHovercraft.cpp ├── VehicleMovementHovercraft.h ├── VehicleMovementStdBoat.cpp ├── VehicleMovementStdBoat.h ├── VehicleMovementStdWheeled.cpp ├── VehicleMovementStdWheeled.h ├── VehicleMovementTank.cpp ├── VehicleMovementTank.h ├── VehicleMovementTweaks.cpp ├── VehicleMovementTweaks.h ├── VehicleMovementVTOL.cpp ├── VehicleMovementVTOL.h ├── VehicleMovementWarrior.cpp ├── VehicleMovementWarrior.h ├── VehicleWeapon.cpp ├── VehicleWeapon.h ├── Voting.cpp ├── Voting.h ├── Weapon.cpp ├── Weapon.h ├── WeaponAttachmentManager.cpp ├── WeaponAttachmentManager.h ├── WeaponClientServer.cpp ├── WeaponEvent.cpp ├── WeaponInput.cpp ├── WeaponSystem.cpp ├── WeaponSystem.h ├── WorkOnTarget.cpp ├── WorkOnTarget.h └── resource.h ├── Game ├── Config │ └── CVarGroups │ │ ├── sys_spec_MotionBlur.cfg │ │ └── sys_spec_PostProcessing.cfg ├── Languages │ └── game_text_messages.xml ├── Libs │ └── Particles │ │ ├── alien_weapons.xml │ │ └── wind.xml ├── Manual │ ├── 01_About.md │ ├── 02_General_Controls.md │ ├── 03_Weapons.md │ ├── 04_Suit_Functions.md │ └── 05_Vehicles.md ├── Shaders │ └── HWScripts │ │ └── CryFX │ │ └── Scopes.cfx ├── bhaptics │ └── vest │ │ ├── Drowning.tact │ │ ├── Heartbeat.tact │ │ ├── HitByBullet.tact │ │ ├── HitByExplosion.tact │ │ ├── Jumping.tact │ │ ├── Landing.tact │ │ ├── Punch_L.tact │ │ ├── Punch_R.tact │ │ ├── Shake.tact │ │ ├── ShootRPG_L.tact │ │ ├── ShootRPG_R.tact │ │ ├── ShootSMG_L.tact │ │ ├── ShootSMG_R.tact │ │ ├── ShootShotgun_L.tact │ │ ├── ShootShotgun_R.tact │ │ ├── SpeedSprint.tact │ │ ├── SpeedSprintWater.tact │ │ ├── SuitArmor.tact │ │ ├── SuitSpeed.tact │ │ ├── SuitStealth.tact │ │ ├── SuitStrength.tact │ │ ├── Swimming.tact │ │ └── VehicleRumble.tact └── fonts │ ├── DroidSans.ttf │ ├── Karla-Regular.ttf │ └── Roboto-Medium.ttf ├── Installer ├── Crysis_101.ico ├── create_installer.bat ├── crysis.nsi ├── crysisvr_logo.png ├── header.bmp └── welcome.bmp ├── LICENSE.txt ├── README.md ├── info.xml ├── install.bat ├── install32.bat └── settings.xml /.github/FUNDING.yml: -------------------------------------------------------------------------------- 1 | # These are supported funding model platforms 2 | 3 | github: # Replace with up to 4 GitHub Sponsors-enabled usernames e.g., [user1, user2] 4 | patreon: # Replace with a single Patreon username 5 | open_collective: # Replace with a single Open Collective username 6 | ko_fi: fholger 7 | tidelift: # Replace with a single Tidelift platform-name/package-name e.g., npm/babel 8 | community_bridge: # Replace with a single Community Bridge project-name e.g., cloud-foundry 9 | liberapay: # Replace with a single Liberapay username 10 | issuehunt: # Replace with a single IssueHunt username 11 | lfx_crowdfunding: # Replace with a single LFX Crowdfunding project-name e.g., cloud-foundry 12 | polar: # Replace with a single Polar username 13 | buy_me_a_coffee: # Replace with a single Buy Me a Coffee username 14 | thanks_dev: # Replace with a single thanks.dev username 15 | custom: # Replace with up to 4 custom sponsorship URLs e.g., ['link1', 'link2'] 16 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | # Prerequisites 2 | *.d 3 | 4 | # Compiled Object files 5 | *.slo 6 | *.lo 7 | *.o 8 | *.obj 9 | 10 | # Precompiled Headers 11 | *.gch 12 | *.pch 13 | 14 | # Compiled Dynamic libraries 15 | *.so 16 | *.dylib 17 | *.dll 18 | 19 | # Fortran module files 20 | *.mod 21 | *.smod 22 | 23 | # Compiled Static libraries 24 | *.lai 25 | *.la 26 | *.a 27 | *.lib 28 | 29 | # Executables 30 | *.exe 31 | *.out 32 | *.app 33 | *.exp 34 | *.pdb 35 | 36 | .vs 37 | .idea 38 | *.user 39 | Debug 40 | Release 41 | Release64 42 | x64 43 | Bin64/VRMod* 44 | Bin64 45 | 46 | Code/Shaders/generated 47 | 48 | Installer/assembly 49 | -------------------------------------------------------------------------------- /BUILDING.md: -------------------------------------------------------------------------------- 1 | # Crysis VR Mod 2 | 3 | ## Compiling 4 | 5 | Install Crysis. Set up the environment variable `CRYSIS_INSTALL_DIR` to point to where Crysis is installed. 6 | 7 | Download and install [Visual Studio 2022](https://visualstudio.microsoft.com). Be sure to install C++ dev tools. 8 | Open the `Code\CrysisMod.sln` solution and build it. 9 | -------------------------------------------------------------------------------- /Code/AVMine.h: -------------------------------------------------------------------------------- 1 | /************************************************************************* 2 | Crytek Source File. 3 | Copyright (C), Crytek Studios, 2001-2007. 4 | ------------------------------------------------------------------------- 5 | $Id:$ 6 | $DateTime$ 7 | Description: Anti-Vehicle mine implementation 8 | ------------------------------------------------------------------------- 9 | History: 10 | - 22:1:2007 14:39 : Created by Steve Humphreys 11 | 12 | *************************************************************************/ 13 | 14 | #ifndef __AVMINE_H__ 15 | #define __AVMINE_H__ 16 | 17 | #if _MSC_VER > 1000 18 | # pragma once 19 | #endif 20 | 21 | 22 | #include "Projectile.h" 23 | 24 | 25 | class CAVMine : public CProjectile 26 | { 27 | public: 28 | CAVMine(); 29 | virtual ~CAVMine(); 30 | 31 | virtual bool Init(IGameObject *pGameObject); 32 | 33 | virtual void ProcessEvent(SEntityEvent &event); 34 | virtual void HandleEvent(const SGameObjectEvent &event); 35 | virtual void Launch(const Vec3 &pos, const Vec3 &dir, const Vec3 &velocity, float speedScale); 36 | virtual void SetParams(EntityId ownerId, EntityId hostId, EntityId weaponId, int fmId, int damage, int hitTypeId); 37 | 38 | protected: 39 | int m_teamId; 40 | float m_triggerWeight; 41 | float m_currentWeight; 42 | bool m_frozen; 43 | }; 44 | 45 | 46 | #endif // __AVMINE_H__ -------------------------------------------------------------------------------- /Code/Actor.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fholger/crysis_vrmod/9406773fa89a3027d285adb236084bd5a7a98b45/Code/Actor.cpp -------------------------------------------------------------------------------- /Code/Actor.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fholger/crysis_vrmod/9406773fa89a3027d285adb236084bd5a7a98b45/Code/Actor.h -------------------------------------------------------------------------------- /Code/AmmoPickup.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fholger/crysis_vrmod/9406773fa89a3027d285adb236084bd5a7a98b45/Code/AmmoPickup.cpp -------------------------------------------------------------------------------- /Code/AmmoPickup.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fholger/crysis_vrmod/9406773fa89a3027d285adb236084bd5a7a98b45/Code/AmmoPickup.h -------------------------------------------------------------------------------- /Code/Automatic.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fholger/crysis_vrmod/9406773fa89a3027d285adb236084bd5a7a98b45/Code/Automatic.cpp -------------------------------------------------------------------------------- /Code/Automatic.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fholger/crysis_vrmod/9406773fa89a3027d285adb236084bd5a7a98b45/Code/Automatic.h -------------------------------------------------------------------------------- /Code/Beam.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fholger/crysis_vrmod/9406773fa89a3027d285adb236084bd5a7a98b45/Code/Beam.cpp -------------------------------------------------------------------------------- /Code/Beam.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fholger/crysis_vrmod/9406773fa89a3027d285adb236084bd5a7a98b45/Code/Beam.h -------------------------------------------------------------------------------- /Code/Binocular.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fholger/crysis_vrmod/9406773fa89a3027d285adb236084bd5a7a98b45/Code/Binocular.h -------------------------------------------------------------------------------- /Code/Bullet.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fholger/crysis_vrmod/9406773fa89a3027d285adb236084bd5a7a98b45/Code/Bullet.cpp -------------------------------------------------------------------------------- /Code/Bullet.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fholger/crysis_vrmod/9406773fa89a3027d285adb236084bd5a7a98b45/Code/Bullet.h -------------------------------------------------------------------------------- /Code/BulletTime.h: -------------------------------------------------------------------------------- 1 | // ------------------------------------------------------------------------- 2 | // Crytek Source File. 3 | // Copyright (C) Crytek GmbH, 2001-2008. 4 | // ------------------------------------------------------------------------- 5 | #ifndef __BULLET_TIME_H__ 6 | #define __BULLET_TIME_H__ 7 | 8 | #pragma once 9 | 10 | struct ISound; 11 | 12 | class CBulletTime 13 | { 14 | public: 15 | CBulletTime(); 16 | 17 | void Update(); 18 | void Activate(bool activate); 19 | bool IsActive() const { return m_active; } 20 | 21 | private: 22 | void TimeScaleTarget(float target); 23 | 24 | _smart_ptr m_pSoundBegin; 25 | _smart_ptr m_pSoundEnd; 26 | 27 | bool m_active; 28 | float m_timeScaleTarget; 29 | float m_timeScaleCurrent; 30 | float m_energy; 31 | }; 32 | #endif //__BULLET_TIME_H__ 33 | 34 | -------------------------------------------------------------------------------- /Code/Burst.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fholger/crysis_vrmod/9406773fa89a3027d285adb236084bd5a7a98b45/Code/Burst.cpp -------------------------------------------------------------------------------- /Code/Burst.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fholger/crysis_vrmod/9406773fa89a3027d285adb236084bd5a7a98b45/Code/Burst.h -------------------------------------------------------------------------------- /Code/C4.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fholger/crysis_vrmod/9406773fa89a3027d285adb236084bd5a7a98b45/Code/C4.h -------------------------------------------------------------------------------- /Code/C4Detonator.h: -------------------------------------------------------------------------------- 1 | /************************************************************************ 2 | Crytek Source File. 3 | Copyright (C), Crytek Studios, 2001-2004. 4 | ------------------------------------------------------------------------- 5 | $Id$ 6 | $DateTime$ 7 | Description: C4Detonator Implementation 8 | 9 | ------------------------------------------------------------------------- 10 | History: 11 | - 29:05:2007 Benito G.R. 12 | 13 | *************************************************************************/ 14 | #ifndef __C4DETONATOR_H__ 15 | #define __C4DETONATOR_H__ 16 | 17 | #if _MSC_VER > 1000 18 | # pragma once 19 | #endif 20 | 21 | 22 | #include 23 | #include "Weapon.h" 24 | 25 | 26 | class CC4Detonator : 27 | public CWeapon 28 | { 29 | 30 | public: 31 | CC4Detonator(); 32 | 33 | virtual void OnAction(EntityId actorId, const ActionId& actionId, int activationMode, float value); 34 | 35 | virtual void GetMemoryStatistics(ICrySizer * s) { s->Add(*this); CWeapon::GetMemoryStatistics(s); } 36 | 37 | private: 38 | 39 | static TActionHandler s_actionHandler; 40 | 41 | bool OnActionSelectC4(EntityId actorId, const ActionId& actionId, int activationMode, float value); 42 | void SelectC4(); 43 | 44 | }; 45 | 46 | #endif // __C4DETONATOR_H__ -------------------------------------------------------------------------------- /Code/Charge.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fholger/crysis_vrmod/9406773fa89a3027d285adb236084bd5a7a98b45/Code/Charge.cpp -------------------------------------------------------------------------------- /Code/Charge.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fholger/crysis_vrmod/9406773fa89a3027d285adb236084bd5a7a98b45/Code/Charge.h -------------------------------------------------------------------------------- /Code/ClientSynchedStorage.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fholger/crysis_vrmod/9406773fa89a3027d285adb236084bd5a7a98b45/Code/ClientSynchedStorage.cpp -------------------------------------------------------------------------------- /Code/ClientSynchedStorage.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fholger/crysis_vrmod/9406773fa89a3027d285adb236084bd5a7a98b45/Code/ClientSynchedStorage.h -------------------------------------------------------------------------------- /Code/CompatibilityAlienMovementController.h: -------------------------------------------------------------------------------- 1 | // ------------------------------------------------------------------------- 2 | // Crytek Source File. 3 | // Copyright (C) Crytek GmbH, 2001-2008. 4 | // ------------------------------------------------------------------------- 5 | #ifndef __COMPATIBILITYALIENMOVEMENTCONTROLLER_H__ 6 | #define __COMPATIBILITYALIENMOVEMENTCONTROLLER_H__ 7 | 8 | #pragma once 9 | 10 | #include "IMovementController.h" 11 | #include "Actor.h" 12 | 13 | class CAlien; 14 | 15 | class CCompatibilityAlienMovementController : public IActorMovementController 16 | { 17 | public: 18 | CCompatibilityAlienMovementController( CAlien * pAlien ); 19 | 20 | virtual void Reset(); 21 | virtual bool Update( float frameTime, SActorFrameMovementParams& params ); 22 | virtual void PostUpdate( float frameTime ){} 23 | virtual void Release(); 24 | 25 | virtual bool RequestMovement( CMovementRequest& request ); 26 | ILINE virtual void GetMovementState( SMovementState& state ) 27 | { 28 | state = m_currentMovementState; 29 | }; 30 | 31 | virtual bool GetStanceState( EStance stance, float lean, bool defaultPose, SStanceState& state ); 32 | 33 | virtual bool GetStats(SStats& stats) 34 | { 35 | return false; 36 | } 37 | 38 | virtual void Serialize(TSerialize &ser) {} 39 | 40 | private: 41 | 42 | void UpdateCurMovementState(const SActorFrameMovementParams& params); 43 | 44 | CAlien * m_pAlien; 45 | bool m_atTarget; 46 | bool m_exact; 47 | 48 | CMovementRequest m_currentMovementRequest; 49 | SMovementState m_currentMovementState; 50 | }; 51 | 52 | #endif 53 | -------------------------------------------------------------------------------- /Code/CryEngine/CryAction/IActionMapManager.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fholger/crysis_vrmod/9406773fa89a3027d285adb236084bd5a7a98b45/Code/CryEngine/CryAction/IActionMapManager.h -------------------------------------------------------------------------------- /Code/CryEngine/CryAction/IActorSystem.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fholger/crysis_vrmod/9406773fa89a3027d285adb236084bd5a7a98b45/Code/CryEngine/CryAction/IActorSystem.h -------------------------------------------------------------------------------- /Code/CryEngine/CryAction/IInteractor.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fholger/crysis_vrmod/9406773fa89a3027d285adb236084bd5a7a98b45/Code/CryEngine/CryAction/IInteractor.h -------------------------------------------------------------------------------- /Code/CryEngine/CryAction/IItem.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fholger/crysis_vrmod/9406773fa89a3027d285adb236084bd5a7a98b45/Code/CryEngine/CryAction/IItem.h -------------------------------------------------------------------------------- /Code/CryEngine/CryAction/IItemSystem.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fholger/crysis_vrmod/9406773fa89a3027d285adb236084bd5a7a98b45/Code/CryEngine/CryAction/IItemSystem.h -------------------------------------------------------------------------------- /Code/CryEngine/CryAction/ILevelSystem.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fholger/crysis_vrmod/9406773fa89a3027d285adb236084bd5a7a98b45/Code/CryEngine/CryAction/ILevelSystem.h -------------------------------------------------------------------------------- /Code/CryEngine/CryAction/ILoadGame.h: -------------------------------------------------------------------------------- 1 | // ------------------------------------------------------------------------- 2 | // Crytek Source File. 3 | // Copyright (C) Crytek GmbH, 2001-2008. 4 | // ------------------------------------------------------------------------- 5 | #ifndef __ILOADGAME_H__ 6 | #define __ILOADGAME_H__ 7 | 8 | #pragma once 9 | 10 | struct ILoadGame 11 | { 12 | // initialize - set name of game 13 | virtual bool Init( const char * name ) = 0; 14 | 15 | // get some basic meta-data 16 | virtual const char * GetMetadata( const char * tag ) = 0; 17 | virtual bool GetMetadata( const char * tag, int& value ) = 0; 18 | virtual bool HaveMetadata( const char * tag ) = 0; 19 | // serialize a console variable 20 | virtual bool GetConsoleVariable( ICVar * pVar ) = 0; 21 | // create a serializer for some data section 22 | virtual std::auto_ptr GetSection( const char * section ) = 0; 23 | virtual bool HaveSection( const char * section ) = 0; 24 | 25 | // finish - indicate success (negative success *must* remove file) 26 | // also calls delete this; 27 | virtual void Complete() = 0; 28 | 29 | // returns the filename of this savegame 30 | virtual const char* GetFileName() const = 0; 31 | }; 32 | 33 | #endif 34 | -------------------------------------------------------------------------------- /Code/CryEngine/CryAction/ISubtitleManager.h: -------------------------------------------------------------------------------- 1 | //////////////////////////////////////////////////////////////////////////// 2 | // 3 | // Crytek Engine Source File. 4 | // Copyright (C), Crytek Studios, 2001-2007. 5 | // ------------------------------------------------------------------------- 6 | // File name: ISubtitleManager.h 7 | // Version: v1.00 8 | // Created: 29/01/2007 by AlexL. 9 | // Compilers: Visual Studio.NET 2005 10 | // Description: Interface to the Subtitle Manager 11 | // ------------------------------------------------------------------------- 12 | // History: 13 | // 14 | //////////////////////////////////////////////////////////////////////////// 15 | 16 | #ifndef __ISUBTITLEMANAGER_H__ 17 | #define __ISUBTITLEMANAGER_H__ 18 | #pragma once 19 | 20 | ////////////////////////////////////////////////////////////////////////// 21 | struct ISubtitleHandler 22 | { 23 | virtual void ShowSubtitle(ISound* pSound, bool bShow) = 0; 24 | virtual void ShowSubtitle(const char* subtitleLabel, bool bShow) = 0; 25 | }; 26 | 27 | ////////////////////////////////////////////////////////////////////////// 28 | struct ISubtitleManager 29 | { 30 | virtual void SetHandler(ISubtitleHandler* pHandler) = 0; 31 | virtual ISubtitleHandler* GetHandler() = 0; 32 | 33 | // enables/disables subtitles manager 34 | virtual void SetEnabled(bool bEnabled) = 0; 35 | 36 | // automatic mode. reacts on every voice sound being played 37 | // can be disabled/enabled 38 | virtual void SetAutoMode(bool bOn) = 0; 39 | 40 | virtual void ShowSubtitle(ISound* pSound, bool bShow) = 0; 41 | virtual void ShowSubtitle(const char* subtitleLabel, bool bShow) = 0; 42 | 43 | }; 44 | 45 | #endif // __ISUBTITLEMANAGER_H__ -------------------------------------------------------------------------------- /Code/CryEngine/CryAction/IWorldQuery.h: -------------------------------------------------------------------------------- 1 | // ------------------------------------------------------------------------- 2 | // Crytek Source File. 3 | // Copyright (C) Crytek GmbH, 2001-2008. 4 | // ------------------------------------------------------------------------- 5 | #ifndef __IWORLDQUERY_H__ 6 | #define __IWORLDQUERY_H__ 7 | 8 | #pragma once 9 | 10 | #include "IGameObject.h" 11 | 12 | typedef std::vector Entities; 13 | 14 | struct IWorldQuery : IGameObjectExtension 15 | { 16 | virtual IEntity * GetEntityInFrontOf() = 0; 17 | virtual const Entities& GetEntitiesInFrontOf() = 0; 18 | virtual const Vec3& GetPos() const = 0; 19 | virtual const EntityId GetLookAtEntityId()= 0; 20 | virtual const ray_hit* GetLookAtPoint(const float fMaxDist = 0)= 0; 21 | }; 22 | 23 | #endif -------------------------------------------------------------------------------- /Code/CryEngine/CryCommon/CryAssert.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fholger/crysis_vrmod/9406773fa89a3027d285adb236084bd5a7a98b45/Code/CryEngine/CryCommon/CryAssert.h -------------------------------------------------------------------------------- /Code/CryEngine/CryCommon/CryCharAnimationParams.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fholger/crysis_vrmod/9406773fa89a3027d285adb236084bd5a7a98b45/Code/CryEngine/CryCommon/CryCharAnimationParams.h -------------------------------------------------------------------------------- /Code/CryEngine/CryCommon/CryCharMorphParams.h: -------------------------------------------------------------------------------- 1 | ////////////////////////////////////////////////////////////////////// 2 | // Crytek Source File. 3 | // Copyright (C) Crytek GmbH, 2001-2008. 4 | // 5 | // File:CryCharMorphParams.h 6 | // Parameters for the morphing functions in ICharacterInstance interface 7 | // 8 | // History: 9 | // -March 3,2003:Created by Ivo Herzeg 10 | // 11 | ////////////////////////////////////////////////////////////////////// 12 | 13 | #ifndef _CRY_CHAR_MORPH_PARAMS_HDR_ 14 | #define _CRY_CHAR_MORPH_PARAMS_HDR_ 15 | 16 | // StartMorph will accept this 17 | struct CryCharMorphParams 18 | { 19 | 20 | CryCharMorphParams ( 21 | float _fBlendIn = 0.15f, 22 | float _fLength = 0, 23 | float _fBlendOut = 0.15f, 24 | float _fAmplitude = 1, 25 | float _fStartTime = 0, 26 | float _fSpeed = 1, 27 | uint32 _nFlags = 0 28 | ) 29 | { 30 | m_fBlendIn = _fBlendIn; 31 | m_fLength = _fLength; 32 | m_fBlendOut = _fBlendOut; 33 | m_fAmplitude = _fAmplitude; 34 | m_fStartTime = _fStartTime; 35 | m_fSpeed = _fSpeed; 36 | m_nFlags = _nFlags; 37 | m_fBalance = 0.0f; 38 | } 39 | 40 | // the blend-in time 41 | f32 m_fBlendIn; 42 | // the time to stay in static position 43 | f32 m_fLength; 44 | // the blend-out time 45 | f32 m_fBlendOut; 46 | // the maximum amplitude 47 | f32 m_fAmplitude; 48 | // the initial time phase from which to start morphing, within the cycle 49 | f32 m_fStartTime; 50 | // multiplier of speed of the update; 1 is default: 51 | f32 m_fSpeed; 52 | // Balance between left/right morph target from -1 to 1. 53 | f32 m_fBalance; 54 | 55 | enum FlagsEnum 56 | { 57 | // with this flag set, the morph will not be time-updated (it'll be frozen at the point where it is) 58 | FLAGS_FREEZE = 0x01, 59 | FLAGS_NO_BLENDOUT = 0x02, 60 | FLAGS_INSTANTANEOUS = 0x03 61 | }; 62 | 63 | // optional flags, as specified by the FlagsEnum 64 | uint32 m_nFlags; 65 | }; 66 | 67 | #endif -------------------------------------------------------------------------------- /Code/CryEngine/CryCommon/CryCommon.cpp: -------------------------------------------------------------------------------- 1 | // ------------------------------------------------------------------------- 2 | // Crytek Source File. 3 | // Copyright (C) Crytek GmbH, 2001-2008. 4 | // ------------------------------------------------------------------------- 5 | // CryCommon.cpp 6 | // This contains compiled code that is used by other projects in the solution. 7 | // Because we don't want static DLL dependencies, the CryCommon project is not compiled into a library. 8 | // Instead, this .cpp file is included in every project which needs it. 9 | // But we also include it in the CryCommon project (disabled in the build), 10 | // so that CryCommon can have the same editable settings as other projects. 11 | 12 | // Set this to 1 to get an output of some pre-defined compiler symbols. 13 | #if 0 14 | 15 | #ifdef _WIN32 16 | #pragma message("_WIN32") 17 | #endif 18 | #ifdef _WIN64 19 | #pragma message("_WIN64") 20 | #endif 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | #ifdef _M_IX86 33 | #pragma message("_M_IX86") 34 | #endif 35 | #ifdef _M_PPC 36 | #pragma message("_M_PPC") 37 | #endif 38 | 39 | #ifdef _DEBUG 40 | #pragma message("_DEBUG") 41 | #endif 42 | 43 | #ifdef _DLL 44 | #pragma message("_DLL") 45 | #endif 46 | #ifdef _USRDLL 47 | #pragma message("_USRDLL") 48 | #endif 49 | #ifdef _MT 50 | #pragma message("_MT") 51 | #endif 52 | 53 | #endif 54 | 55 | 56 | 57 | 58 | 59 | 60 | 61 | 62 | #include "MTPseudoRandom.cpp" 63 | 64 | #if !defined __CRYCG__ 65 | #if defined(PS3) || defined(LINUX) 66 | #include "WinBase.cpp" 67 | #endif 68 | #endif 69 | 70 | -------------------------------------------------------------------------------- /Code/CryEngine/CryCommon/CryModuleDefs.h: -------------------------------------------------------------------------------- 1 | #ifndef CRYMODULEDEFS_H__ 2 | #define CRYMODULEDEFS_H__ 3 | 4 | 5 | enum ECryModule 6 | { 7 | eCryM_3DEngine = 0, 8 | eCryM_Action, 9 | eCryM_AISystem, 10 | eCryM_Animation, 11 | eCryM_EntitySystem, 12 | eCryM_Font, 13 | eCryM_Input, 14 | eCryM_Movie, 15 | eCryM_Network, 16 | eCryM_Physics, 17 | eCryM_ScriptSystem, 18 | eCryM_SoundSystem, 19 | eCryM_System, 20 | eCryM_Game, 21 | eCryM_Render, 22 | eCryM_Launcher, 23 | 24 | eCryM_Num, 25 | }; 26 | 27 | extern const char *CM_Name[eCryM_Num]; 28 | 29 | #endif //CRYMODULEDEFS_H__ 30 | -------------------------------------------------------------------------------- /Code/CryEngine/CryCommon/CryThreadImpl.h: -------------------------------------------------------------------------------- 1 | ///////////////////////////////////////////////////////////////////////////// 2 | // 3 | // Crytek Source File 4 | // Copyright (C), Crytek Studios, 2001-2006. 5 | // 6 | // History: 7 | // Jun 20, 2006: Created by Sascha Demetrio 8 | // 9 | ///////////////////////////////////////////////////////////////////////////// 10 | 11 | #ifndef _CryThreadImpl_h_ 12 | #define _CryThreadImpl_h_ 1 13 | 14 | #include 15 | 16 | // Include architecture specific code. 17 | #if defined(LINUX) 18 | #include 19 | #elif defined(WIN32) || defined(WIN64) 20 | #include 21 | 22 | 23 | 24 | 25 | #else 26 | // Put other platform specific includes here! 27 | #endif 28 | 29 | #include 30 | 31 | void CryThreadSetName( unsigned int dwThreadId,const char *sThreadName ) 32 | { 33 | if (gEnv && gEnv->pSystem && gEnv->pSystem->GetIThreadTaskManager()) 34 | gEnv->pSystem->GetIThreadTaskManager()->SetThreadName( dwThreadId,sThreadName ); 35 | } 36 | 37 | const char* CryThreadGetName( unsigned int dwThreadId ) 38 | { 39 | if (gEnv && gEnv->pSystem && gEnv->pSystem->GetIThreadTaskManager()) 40 | return gEnv->pSystem->GetIThreadTaskManager()->GetThreadName( dwThreadId ); 41 | return ""; 42 | } 43 | 44 | #endif 45 | 46 | // vim:ts=2 47 | 48 | -------------------------------------------------------------------------------- /Code/CryEngine/CryCommon/CryThreadImpl_pthreads.h: -------------------------------------------------------------------------------- 1 | ///////////////////////////////////////////////////////////////////////////// 2 | // 3 | // Crytek Source File 4 | // Copyright (C), Crytek Studios, 2001-2006. 5 | // 6 | // History: 7 | // Jun 20, 2006: Created by Sascha Demetrio 8 | // 9 | ///////////////////////////////////////////////////////////////////////////// 10 | 11 | #include "CryThread_pthreads.h" 12 | 13 | #if !defined(PS3) 14 | template<> 15 | _PthreadLockAttr 16 | _PthreadLockBase::m_Attr = 0; 17 | #endif 18 | 19 | template<> 20 | _PthreadLockAttr 21 | _PthreadLockBase::m_Attr = 0; 22 | 23 | THREADLOCAL CrySimpleThreadSelf 24 | *CrySimpleThreadSelf::m_Self = NULL; 25 | 26 | // vim:ts=2 27 | 28 | -------------------------------------------------------------------------------- /Code/CryEngine/CryCommon/CryThreadImpl_windows.h: -------------------------------------------------------------------------------- 1 | // ------------------------------------------------------------------------- 2 | // Crytek Source File. 3 | // Copyright (C) Crytek GmbH, 2001-2008. 4 | // ------------------------------------------------------------------------- 5 | #ifndef __CRYTHREADIMPL_WINDOWS_H__ 6 | #define __CRYTHREADIMPL_WINDOWS_H__ 7 | #pragma once 8 | 9 | //#include 10 | 11 | #define WIN32_LEAN_AND_MEAN 12 | #ifndef XENON 13 | #include 14 | #endif 15 | 16 | struct SThreadNameDesc 17 | { 18 | DWORD dwType; 19 | LPCSTR szName; 20 | DWORD dwThreadID; 21 | DWORD dwFlags; 22 | }; 23 | 24 | THREADLOCAL CrySimpleThreadSelf 25 | *CrySimpleThreadSelf::m_Self = NULL; 26 | 27 | #endif 28 | -------------------------------------------------------------------------------- /Code/CryEngine/CryCommon/IAVI_Reader.h: -------------------------------------------------------------------------------- 1 | 2 | //////////////////////////////////////////////////////////////////////////// 3 | // 4 | // Crytek Engine Source File. 5 | // Copyright (C), Crytek Studios, 2007-2010. 6 | // ------------------------------------------------------------------------- 7 | // File name: IAVI_Reader.h 8 | // Version: v1.00 9 | // Description: AVI files reader Interface. 10 | // ------------------------------------------------------------------------- 11 | // History: 12 | // Created: 28/02/2007 by MarcoC. 13 | // 14 | //////////////////////////////////////////////////////////////////////////// 15 | 16 | #ifndef __IAVI_Reader_h__ 17 | #define __IAVI_Reader_h__ 18 | #pragma once 19 | 20 | ////////////////////////////////////////////////////////////////////////// 21 | struct IAVI_Reader 22 | { 23 | virtual bool OpenFile( const char *szFilename)=0; 24 | virtual void CloseFile() =0; 25 | 26 | virtual int GetWidth() =0; 27 | virtual int GetHeight() =0; 28 | virtual int GetFPS() =0; 29 | 30 | // if no frame is passed, it will retrieve the current one and advance one frame. 31 | // If a frame is specified, it will get that one. 32 | // Notice the "const", don't override this memory! 33 | virtual const unsigned char *QueryFrame(int nFrame=-1) =0; 34 | 35 | virtual int GetFrameCount() =0; 36 | virtual int GetAVIPos() =0; 37 | virtual void SetAVIPos(int nFrame) =0; 38 | }; 39 | 40 | #endif // __IAVI_Reader_h__ 41 | 42 | 43 | 44 | -------------------------------------------------------------------------------- /Code/CryEngine/CryCommon/IBudgetingSystem.h: -------------------------------------------------------------------------------- 1 | // ------------------------------------------------------------------------- 2 | // Crytek Source File. 3 | // Copyright (C) Crytek GmbH, 2001-2008. 4 | // ------------------------------------------------------------------------- 5 | #ifndef _I_BUDGETING_SYSTEM_ 6 | #define _I_BUDGETING_SYSTEM_ 7 | 8 | 9 | struct IBudgetingSystem 10 | { 11 | // set budget 12 | virtual void SetSysMemLimit( int sysMemLimitInMB ) = 0; 13 | virtual void SetVideoMemLimit( int videoMemLimitInMB ) = 0; 14 | virtual void SetFrameTimeLimit( float frameLimitInMS ) = 0; 15 | virtual void SetSoundChannelsPlayingLimit( int soundChannelsPlayingLimit ) = 0; 16 | virtual void SetSoundMemLimit( int SoundMemLimit ) = 0; 17 | virtual void SetNumDrawCallsLimit( int numDrawCallsLimit ) = 0; 18 | virtual void SetBudget( int sysMemLimitInMB, int videoMemLimitInMB, 19 | float frameTimeLimitInMS, int soundChannelsPlayingLimit, int SoundMemLimitInMB, int numDrawCallsLimit ) = 0; 20 | 21 | // get budget 22 | virtual int GetSysMemLimit() const = 0; 23 | virtual int GetVideoMemLimit() const = 0; 24 | virtual float GetFrameTimeLimit() const = 0; 25 | virtual int GetSoundChannelsPlayingLimit() const = 0; 26 | virtual int GetSoundMemLimit() const = 0; 27 | virtual void GetBudget( int& sysMemLimitInMB, int& videoMemLimitInMB, 28 | float& frameTimeLimitInMS, int& soundChannelsPlayingLimit, int& SoundMemLimitInMB, int& numDrawCallsLimit ) const = 0; 29 | 30 | // monitoring 31 | virtual void MonitorBudget() = 0; 32 | 33 | // destruction 34 | virtual void Release() = 0; 35 | 36 | protected: 37 | virtual ~IBudgetingSystem() {} 38 | }; 39 | 40 | 41 | #endif // #ifndef _I_BUDGETING_SYSTEM_ -------------------------------------------------------------------------------- /Code/CryEngine/CryCommon/ICmdLine.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fholger/crysis_vrmod/9406773fa89a3027d285adb236084bd5a7a98b45/Code/CryEngine/CryCommon/ICmdLine.h -------------------------------------------------------------------------------- /Code/CryEngine/CryCommon/ICryAnimation.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fholger/crysis_vrmod/9406773fa89a3027d285adb236084bd5a7a98b45/Code/CryEngine/CryCommon/ICryAnimation.h -------------------------------------------------------------------------------- /Code/CryEngine/CryCommon/IDialogSystem.h: -------------------------------------------------------------------------------- 1 | //////////////////////////////////////////////////////////////////////////// 2 | // 3 | // Crytek Engine Source File. 4 | // Copyright (C), Crytek Studios, 2001-2004. 5 | // ------------------------------------------------------------------------- 6 | // File name: IDialogSystem.h 7 | // Version: v1.00 8 | // Created: 26/7/2006 by AlexL. 9 | // Compilers: Visual Studio.NET 2003 10 | // Description: Interface of the DialogSystem [mainly for Editor->CryAction] 11 | // ------------------------------------------------------------------------- 12 | // History: 13 | // 14 | //////////////////////////////////////////////////////////////////////////// 15 | 16 | #ifndef __IDIALOGSYSTEM_H__ 17 | #define __IDIALOGSYSTEM_H__ 18 | #pragma once 19 | 20 | struct IDialogScriptIterator 21 | { 22 | struct SDialogScript 23 | { 24 | const char* id; 25 | const char* desc; 26 | int numRequiredActors; 27 | int numLines; 28 | bool bIsLegacyExcel; 29 | }; 30 | 31 | virtual void AddRef() = 0; 32 | virtual void Release() = 0; 33 | virtual bool Next(SDialogScript& ) = 0; 34 | }; 35 | typedef _smart_ptr IDialogScriptIteratorPtr; 36 | 37 | 38 | struct IDialogSystem 39 | { 40 | virtual void Update(const float dt) = 0; 41 | virtual void Reset() = 0; 42 | virtual bool ReloadScripts() = 0; 43 | virtual IDialogScriptIteratorPtr CreateScriptIterator() = 0; 44 | }; 45 | 46 | #endif 47 | -------------------------------------------------------------------------------- /Code/CryEngine/CryCommon/IDirectBee.h: -------------------------------------------------------------------------------- 1 | // ------------------------------------------------------------------------- 2 | // Crytek Source File. 3 | // Copyright (C) Crytek GmbH, 2001-2008. 4 | // ------------------------------------------------------------------------- 5 | #ifdef WIN32 6 | #pragma once 7 | #include "unknwn.h" // IUnknown 8 | 9 | struct IDirectBee :public IUnknown 10 | { 11 | // call this before creation of texture/shader/.. to pass the name to DirectBee 12 | // \param szFileName can be 0 13 | // \param szSubName can be 0 14 | virtual void PushName( const char *szFileName=0, const char *szSubName=0 )=0; 15 | 16 | //! \param szFileName must not be 0 17 | //! \return success 18 | virtual bool LoadFrame( const char *szFileName )=0; 19 | 20 | // virtual void SetName( const void *pPtr, const char *szFileName, const char *szSubName )=0; 21 | }; 22 | 23 | static const GUID IDD_IDirectBee = { 0x29ad19a0, 0x3c26, 0x49f5, { 0xa3, 0xba, 0x9a, 0x66, 0x55, 0x33, 0xd4, 0xe1 } }; // {29AD19A0-3C26-49f5-A3BA-9A665533D4E1} 24 | 25 | #endif // WIN32 -------------------------------------------------------------------------------- /Code/CryEngine/CryCommon/IEditorGame.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fholger/crysis_vrmod/9406773fa89a3027d285adb236084bd5a7a98b45/Code/CryEngine/CryCommon/IEditorGame.h -------------------------------------------------------------------------------- /Code/CryEngine/CryCommon/IGame.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fholger/crysis_vrmod/9406773fa89a3027d285adb236084bd5a7a98b45/Code/CryEngine/CryCommon/IGame.h -------------------------------------------------------------------------------- /Code/CryEngine/CryCommon/IGameFramework.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fholger/crysis_vrmod/9406773fa89a3027d285adb236084bd5a7a98b45/Code/CryEngine/CryCommon/IGameFramework.h -------------------------------------------------------------------------------- /Code/CryEngine/CryCommon/IGameRef.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fholger/crysis_vrmod/9406773fa89a3027d285adb236084bd5a7a98b45/Code/CryEngine/CryCommon/IGameRef.h -------------------------------------------------------------------------------- /Code/CryEngine/CryCommon/IGameStartup.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fholger/crysis_vrmod/9406773fa89a3027d285adb236084bd5a7a98b45/Code/CryEngine/CryCommon/IGameStartup.h -------------------------------------------------------------------------------- /Code/CryEngine/CryCommon/IHardwareMouse.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fholger/crysis_vrmod/9406773fa89a3027d285adb236084bd5a7a98b45/Code/CryEngine/CryCommon/IHardwareMouse.h -------------------------------------------------------------------------------- /Code/CryEngine/CryCommon/IPhysics.h: -------------------------------------------------------------------------------- 1 | // ------------------------------------------------------------------------- 2 | // Crytek Source File. 3 | // Copyright (C) Crytek GmbH, 2001-2008. 4 | // ------------------------------------------------------------------------- 5 | #ifndef cryphysics_h 6 | #define cryphysics_h 7 | 8 | #if _MSC_VER > 1000 9 | #pragma once 10 | #endif // _MSC_VER > 1000 11 | 12 | #ifdef PHYSICS_EXPORTS 13 | #define CRYPHYSICS_API DLL_EXPORT 14 | #else 15 | #define CRYPHYSICS_API DLL_IMPORT 16 | #endif 17 | 18 | #define vector_class Vec3_tpl 19 | 20 | 21 | #include 22 | 23 | ////////////////////////////////////////////////////////////////////////// 24 | // IDs that can be used for foreign id. 25 | ////////////////////////////////////////////////////////////////////////// 26 | enum EPhysicsForeignIds 27 | { 28 | PHYS_FOREIGN_ID_TERRAIN = 0, 29 | PHYS_FOREIGN_ID_STATIC = 1, 30 | PHYS_FOREIGN_ID_ENTITY = 2, 31 | PHYS_FOREIGN_ID_FOLIAGE = 3, 32 | PHYS_FOREIGN_ID_ROPE = 4, 33 | PHYS_FOREIGN_ID_SOUND_OBSTRUCTION = 5, 34 | PHYS_FOREIGN_ID_WATERVOLUME = 6, 35 | 36 | PHYS_FOREIGN_ID_USER = 100, // All user defined foreign ids should start from this enum. 37 | }; 38 | 39 | 40 | //#include "utils.h" 41 | #include "Cry_Math.h" 42 | #include "primitives.h" 43 | #include "physinterface.h" 44 | 45 | extern "C" CRYPHYSICS_API IPhysicalWorld *CreatePhysicalWorld(struct ISystem *pLog); 46 | 47 | #endif 48 | -------------------------------------------------------------------------------- /Code/CryEngine/CryCommon/IProcess.h: -------------------------------------------------------------------------------- 1 | ////////////////////////////////////////////////////////////////////// 2 | // 3 | // Crytek Source File. 4 | // Copyright (C) Crytek GmbH, 2001-2008. 5 | // 6 | // File:IProcess.h 7 | // Description: Process common interface 8 | // 9 | // History: 10 | // -September 03,2001:Created by Marco Corbetta 11 | // 12 | ////////////////////////////////////////////////////////////////////// 13 | 14 | #ifndef IPROCESS_H 15 | #define IPROCESS_H 16 | 17 | #if _MSC_VER > 1000 18 | # pragma once 19 | #endif 20 | 21 | //////////////////////////////////////////////////////////////////////////////////////////////// 22 | //////////////////////////////////////////////////////////////////////////////////////////////// 23 | struct IProcess 24 | { 25 | virtual bool Init() = 0; 26 | virtual void Update() = 0; 27 | virtual void RenderWorld(const int nRenderFlags, const class CCamera &cam, const char *szDebugName, const int dwDrawFlags = -1, const int nFilterFlags=-1) = 0; 28 | virtual void ShutDown() = 0; 29 | virtual void SetFlags(int flags) = 0; 30 | virtual int GetFlags(void) = 0; 31 | }; 32 | 33 | #endif -------------------------------------------------------------------------------- /Code/CryEngine/CryCommon/IResourceCollector.h: -------------------------------------------------------------------------------- 1 | // ------------------------------------------------------------------------- 2 | // Crytek Source File. 3 | // Copyright (C) Crytek GmbH, 2001-2008. 4 | // ------------------------------------------------------------------------- 5 | #ifndef _CRY_COMMON_CRY_RESOURCECOLLECTOR_INTERFACE_HDR_ 6 | #define _CRY_COMMON_CRY_RESOURCECOLLECTOR_INTERFACE_HDR_ 7 | 8 | #pragma once 9 | 10 | // used to collect the assets needed for streaming and to gather statistics 11 | struct IResourceCollector 12 | { 13 | // Arguments: 14 | // dwMemSize 0xffffffff if size is unknown 15 | // Returns: 16 | // true=new resource was added, false=resource was already registered 17 | virtual bool AddResource( const char *szFileName, const uint32 dwMemSize ) { return true; } 18 | 19 | // Arguments: 20 | // szFileName - needs to be registered before with AddResource() 21 | // pInstance - must not be 0 22 | virtual void AddInstance( const char *szFileName, void *pInstance ) {} 23 | // 24 | // Arguments: 25 | // szFileName - needs to be registered before with AddResource() 26 | virtual void OpenDependencies( const char *szFileName ) {} 27 | // 28 | virtual void CloseDependencies() {} 29 | }; 30 | 31 | 32 | 33 | 34 | #endif // _CRY_COMMON_CRY_RESOURCECOLLECTOR_INTERFACE_HDR_ 35 | 36 | 37 | -------------------------------------------------------------------------------- /Code/CryEngine/CryCommon/IScriptSystem.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fholger/crysis_vrmod/9406773fa89a3027d285adb236084bd5a7a98b45/Code/CryEngine/CryCommon/IScriptSystem.h -------------------------------------------------------------------------------- /Code/CryEngine/CryCommon/ISimpleHttpServer.h: -------------------------------------------------------------------------------- 1 | // ------------------------------------------------------------------------- 2 | // Crytek Source File. 3 | // Copyright (C) Crytek GmbH, 2001-2008. 4 | // ------------------------------------------------------------------------- 5 | #ifndef __ISIMPLEHTTPSERVER_H__ 6 | #define __ISIMPLEHTTPSERVER_H__ 7 | 8 | #pragma once 9 | 10 | struct IHttpServerListener 11 | { 12 | enum EResultDesc {eRD_Okay, eRD_Failed, eRD_AlreadyStarted}; 13 | virtual void OnStartResult(bool started, EResultDesc desc) = 0; 14 | 15 | virtual void OnClientConnected(string client) = 0; 16 | virtual void OnClientDisconnected() = 0; 17 | 18 | virtual void OnGetRequest(string url) = 0; 19 | virtual void OnRpcRequest(string xml) = 0; 20 | 21 | // required by work queueing 22 | virtual void AddRef() const {} 23 | virtual void Release() const {} 24 | virtual bool IsDead() const { return false; } 25 | }; 26 | 27 | struct ISimpleHttpServer 28 | { 29 | // starts an HTTP server with a password using Digest Access Authentication method 30 | virtual void Start(uint16 port, const string& password, IHttpServerListener* pListener) = 0; 31 | 32 | // stops the HTTP server 33 | virtual void Stop() = 0; 34 | 35 | enum EStatusCode {eSC_Okay, eSC_BadRequest, eSC_NotFound, eSC_RequestTimeout, eSC_NotImplemented, eSC_ServiceUnavailable, eSC_UnsupportedVersion, eSC_InvalidStatus}; 36 | enum EContentType {eCT_HTML, eCT_XML, eCT_MAX}; 37 | virtual void SendResponse(EStatusCode statusCode, EContentType contentType, const string& content, bool closeConnection = false) = 0; 38 | 39 | virtual void SendWebpage(const string& webpage) = 0; 40 | }; 41 | 42 | #endif 43 | 44 | -------------------------------------------------------------------------------- /Code/CryEngine/CryCommon/ITextModeConsole.h: -------------------------------------------------------------------------------- 1 | /************************************************************************* 2 | Crytek Source File. 3 | Copyright (C), Crytek Studios, 2001-2006. 4 | ------------------------------------------------------------------------- 5 | $Id$ 6 | $DateTime$ 7 | Description: 8 | Allows creation of text mode displays the for dedicated server 9 | ------------------------------------------------------------------------- 10 | History: 11 | - Nov 22,2006: Created by Craig Tiller 12 | 13 | *************************************************************************/ 14 | #ifndef __ITEXTMODECONSOLE_H__ 15 | #define __ITEXTMODECONSOLE_H__ 16 | 17 | #pragma once 18 | 19 | struct ITextModeConsole 20 | { 21 | virtual Vec2_tpl BeginDraw() = 0; 22 | virtual void PutText( int x, int y, const char * msg ) = 0; 23 | virtual void EndDraw() = 0; 24 | }; 25 | 26 | #endif 27 | -------------------------------------------------------------------------------- /Code/CryEngine/CryCommon/IVideoPlayer.h: -------------------------------------------------------------------------------- 1 | // ------------------------------------------------------------------------- 2 | // Crytek Source File. 3 | // Copyright (C) Crytek GmbH, 2001-2008. 4 | // ------------------------------------------------------------------------- 5 | #ifndef _I_VIDEO_PLAYER_H_ 6 | #define _I_VIDEO_PLAYER_H_ 7 | 8 | #pragma once 9 | 10 | 11 | struct IVideoPlayer 12 | { 13 | enum EOptions 14 | { 15 | LOOP_PLAYBACK = 0x01, // infinitely loop playback of video 16 | DELAY_START = 0x02 // delay start of playback until first Render() call 17 | }; 18 | 19 | enum EPlaybackStatus 20 | { 21 | PBS_ERROR, 22 | PBS_PREPARING, 23 | PBS_PLAYING, 24 | PBS_FINISHED, 25 | PBS_PAUSED, 26 | PBS_PAUSED_NOFOCUS, 27 | PBS_STOPPED 28 | }; 29 | 30 | // lifetime 31 | virtual void Release() = 0; 32 | 33 | // initialization 34 | virtual bool Load(const char* pFilePath, unsigned int options, int audioCh = 0, int voiceCh = -1, bool useSubtitles = false) = 0; 35 | 36 | // rendering 37 | virtual EPlaybackStatus GetStatus() const = 0; 38 | virtual bool Start() = 0; 39 | virtual bool Stop() = 0; 40 | virtual bool Pause(bool pause) = 0; 41 | virtual bool SetViewport(int x0, int y0, int width, int height) = 0; 42 | virtual bool Render() = 0; 43 | virtual void GetSubtitle(int subtitleCh, char* pStBuf, size_t pStBufLen) = 0; 44 | 45 | virtual void EnablePerFrameUpdate(bool enable) = 0; 46 | virtual bool IsPerFrameUpdateEnabled() const = 0; 47 | 48 | // general property queries 49 | virtual int GetWidth() const = 0; 50 | virtual int GetHeight() const = 0; 51 | 52 | // more to come... 53 | 54 | protected: 55 | IVideoPlayer() {} 56 | virtual ~IVideoPlayer() {} 57 | }; 58 | 59 | 60 | #endif // #ifndef _I_VIDEO_PLAYER_H_ -------------------------------------------------------------------------------- /Code/CryEngine/CryCommon/ProjectDefinesInclude.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fholger/crysis_vrmod/9406773fa89a3027d285adb236084bd5a7a98b45/Code/CryEngine/CryCommon/ProjectDefinesInclude.h -------------------------------------------------------------------------------- /Code/CryEngine/CryCommon/ScopedVariableSetter.h: -------------------------------------------------------------------------------- 1 | //////////////////////////////////////////////////////////////////////////// 2 | // 3 | // Crytek Engine Source File. 4 | // Copyright (C), Crytek Studios, 2001-2006. 5 | // ------------------------------------------------------------------------- 6 | // File name: ScopedVariableSetter.h 7 | // Version: v1.00 8 | // Created: 22/8/2006 by MichaelS. 9 | // Compilers: Visual Studio.NET 2005 10 | // Description: 11 | // ------------------------------------------------------------------------- 12 | // History: 13 | // 14 | //////////////////////////////////////////////////////////////////////////// 15 | #ifndef __SCOPEDVARIABLESETTER_H__ 16 | #define __SCOPEDVARIABLESETTER_H__ 17 | 18 | // The idea of this class is to set the value of a variable in its constructor, 19 | // and then in the destructor to reset it to its initial value. 20 | template class CScopedVariableSetter 21 | { 22 | public: 23 | typedef T Value; 24 | 25 | CScopedVariableSetter(Value& variable, const Value& temporaryValue) 26 | : m_oldValue(variable), 27 | m_variable(variable) 28 | { 29 | m_variable = temporaryValue; 30 | } 31 | 32 | ~CScopedVariableSetter() 33 | { 34 | m_variable = m_oldValue; 35 | } 36 | 37 | private: 38 | Value m_oldValue; 39 | Value& m_variable; 40 | }; 41 | 42 | #endif //__SCOPEDVARIABLESETTER_H__ 43 | -------------------------------------------------------------------------------- /Code/CryEngine/CryCommon/SerializationTypes.h: -------------------------------------------------------------------------------- 1 | // ------------------------------------------------------------------------- 2 | // Crytek Source File. 3 | // Copyright (C) Crytek GmbH, 2001-2008. 4 | // ------------------------------------------------------------------------- 5 | // this file is included anywhere that we need a complete list of primitive serializable types 6 | 7 | SERIALIZATION_TYPE(bool) 8 | SERIALIZATION_TYPE(float) 9 | SERIALIZATION_TYPE(Vec2) 10 | SERIALIZATION_TYPE(Vec3) 11 | SERIALIZATION_TYPE(Quat) 12 | SERIALIZATION_TYPE(Ang3) 13 | SERIALIZATION_TYPE(int8) 14 | SERIALIZATION_TYPE(int16) 15 | SERIALIZATION_TYPE(int32) 16 | SERIALIZATION_TYPE(int64) 17 | SERIALIZATION_TYPE(uint8) 18 | SERIALIZATION_TYPE(uint16) 19 | SERIALIZATION_TYPE(uint32) 20 | SERIALIZATION_TYPE(uint64) 21 | SERIALIZATION_TYPE(ScriptAnyValue) // not for network - only for save games 22 | SERIALIZATION_TYPE(CTimeValue) 23 | SERIALIZATION_TYPE(SNetObjectID) -------------------------------------------------------------------------------- /Code/CryEngine/CryCommon/SerializeBuffer.h: -------------------------------------------------------------------------------- 1 | // ------------------------------------------------------------------------- 2 | // Crytek Source File. 3 | // Copyright (C) Crytek GmbH, 2001-2008. 4 | // ------------------------------------------------------------------------- 5 | #ifndef _SERIALIZEBUFFER_H_ 6 | #define _SERIALIZEBUFFER_H_ 7 | 8 | void inline SaveBuffer(void * pData, int nSize, uchar * pSerialBuffer, int & nSaveBufferPos) 9 | { 10 | if(pSerialBuffer) 11 | { 12 | // set the first 4 bytes of the buffer to the size of the buffer or to 0 if the data isn't available 13 | *(int*)(pSerialBuffer+nSaveBufferPos) = pData ? nSize : 0; 14 | } 15 | 16 | nSaveBufferPos += sizeof(int); 17 | 18 | if(pSerialBuffer) 19 | { 20 | if(nSize && pData) 21 | memcpy (pSerialBuffer + nSaveBufferPos, pData, nSize); 22 | } 23 | 24 | if(pData) 25 | nSaveBufferPos += nSize; 26 | } 27 | 28 | bool inline LoadBuffer(void * pData, uint nMaxBytesToLoad, uchar * pSerialBuffer, int & nSaveBufferPos) 29 | { 30 | int nSize = 0; 31 | if (nMaxBytesToLoad < 4) 32 | { 33 | nSaveBufferPos += 4; 34 | return false; 35 | } 36 | 37 | nSize = *(int*)(pSerialBuffer + nSaveBufferPos); 38 | nSaveBufferPos += 4; 39 | 40 | if((uint)nSize > nMaxBytesToLoad) 41 | return false; 42 | 43 | if(!nSize) 44 | return true; 45 | 46 | assert(pData); 47 | 48 | if(nSize) 49 | memcpy (pData, pSerialBuffer + nSaveBufferPos, nSize); 50 | 51 | nSaveBufferPos += nSize; 52 | 53 | return true; 54 | } 55 | 56 | #endif // _SERIALIZEBUFFER_H_ -------------------------------------------------------------------------------- /Code/CryEngine/CryCommon/SerializeFwd.h: -------------------------------------------------------------------------------- 1 | ////////////////////////////////////////////////////////////////////// 2 | // Crytek Source File. 3 | // Copyright (C) Crytek GmbH, 2001-2008. 4 | // 5 | // Crytek Serialization framework 6 | // 7 | // File: SerializeFwd.h 8 | // Description: forward declaration of TSerialize 9 | // 10 | // History: 11 | // -12/05/2005: Kirill Bulatsev, Created 12 | // 13 | ////////////////////////////////////////////////////////////////////// 14 | 15 | 16 | template class CSerializeWrapper; 17 | struct ISerialize; 18 | typedef CSerializeWrapper TSerialize; 19 | -------------------------------------------------------------------------------- /Code/CryEngine/CryCommon/XMLBinaryHeaders.h: -------------------------------------------------------------------------------- 1 | //--------------------------------------------------------------------------- 2 | // Copyright 2006 Crytek GmbH 3 | // Created by: Michael Smith 4 | //--------------------------------------------------------------------------- 5 | #ifndef __XMLBINARYHEADERS_H__ 6 | #define __XMLBINARYHEADERS_H__ 7 | 8 | namespace XMLBinary 9 | { 10 | class IError 11 | { 12 | public: 13 | virtual ~IError() {} 14 | virtual void GetDescription(int nBufferSize, char* szDescriptionBuffer) = 0; 15 | }; 16 | 17 | class Node 18 | { 19 | public: 20 | int nTagStringIndex; 21 | int nContentStringIndex; 22 | int nParentIndex; 23 | int nFirstAttributeIndex; 24 | int nAttributeCount; 25 | 26 | AUTO_STRUCT_INFO 27 | }; 28 | 29 | class Attribute 30 | { 31 | public: 32 | int nKeyStringIndex; 33 | int nValueStringIndex; 34 | 35 | AUTO_STRUCT_INFO 36 | }; 37 | 38 | class BinaryFileHeader 39 | { 40 | public: 41 | static const char* sk_szCorrectSignature; 42 | char szSignature[8]; 43 | int nXMLSize; 44 | int nNodeTablePosition; 45 | int nNodeCount; 46 | int nAttributeTablePosition; 47 | int nAttributeCount; 48 | int nStringTablePosition; 49 | int nStringCount; 50 | int nStringDataPosition; 51 | int nStringDataSize; 52 | 53 | AUTO_STRUCT_INFO 54 | }; 55 | 56 | class String 57 | { 58 | public: 59 | int nPosition; 60 | int nLength; 61 | 62 | AUTO_STRUCT_INFO 63 | }; 64 | } 65 | 66 | #endif //__XMLBINARYHEADERS_H__ 67 | -------------------------------------------------------------------------------- /Code/Crysis.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fholger/crysis_vrmod/9406773fa89a3027d285adb236084bd5a7a98b45/Code/Crysis.ico -------------------------------------------------------------------------------- /Code/CrysisMod.sln: -------------------------------------------------------------------------------- 1 |  2 | Microsoft Visual Studio Solution File, Format Version 12.00 3 | # Visual Studio Version 17 4 | VisualStudioVersion = 17.4.33122.133 5 | MinimumVisualStudioVersion = 10.0.40219.1 6 | Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "VRMod", "GameDll.vcxproj", "{2EB52047-0A81-4343-B703-DF221CA5CC2A}" 7 | EndProject 8 | Global 9 | GlobalSection(SolutionConfigurationPlatforms) = preSolution 10 | Debug|Win32 = Debug|Win32 11 | Debug|x64 = Debug|x64 12 | Release|Win32 = Release|Win32 13 | Release|x64 = Release|x64 14 | EndGlobalSection 15 | GlobalSection(ProjectConfigurationPlatforms) = postSolution 16 | {2EB52047-0A81-4343-B703-DF221CA5CC2A}.Debug|Win32.ActiveCfg = Debug|Win32 17 | {2EB52047-0A81-4343-B703-DF221CA5CC2A}.Debug|Win32.Build.0 = Debug|Win32 18 | {2EB52047-0A81-4343-B703-DF221CA5CC2A}.Debug|x64.ActiveCfg = Debug|x64 19 | {2EB52047-0A81-4343-B703-DF221CA5CC2A}.Debug|x64.Build.0 = Debug|x64 20 | {2EB52047-0A81-4343-B703-DF221CA5CC2A}.Release|Win32.ActiveCfg = Release|Win32 21 | {2EB52047-0A81-4343-B703-DF221CA5CC2A}.Release|Win32.Build.0 = Release|Win32 22 | {2EB52047-0A81-4343-B703-DF221CA5CC2A}.Release|x64.ActiveCfg = Release|x64 23 | {2EB52047-0A81-4343-B703-DF221CA5CC2A}.Release|x64.Build.0 = Release|x64 24 | EndGlobalSection 25 | GlobalSection(SolutionProperties) = preSolution 26 | HideSolutionNode = FALSE 27 | EndGlobalSection 28 | GlobalSection(ExtensibilityGlobals) = postSolution 29 | SolutionGuid = {8C2F0C6E-24B2-4228-8D7E-452D9C2A8361} 30 | EndGlobalSection 31 | EndGlobal 32 | -------------------------------------------------------------------------------- /Code/Cursor_White.cur: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fholger/crysis_vrmod/9406773fa89a3027d285adb236084bd5a7a98b45/Code/Cursor_White.cur -------------------------------------------------------------------------------- /Code/DebugGun.h: -------------------------------------------------------------------------------- 1 | /************************************************************************* 2 | Crytek Source File. 3 | Copyright (C), Crytek Studios, 2001-2004. 4 | ------------------------------------------------------------------------- 5 | $Id$ 6 | $DateTime$ 7 | Description: DebugGun Implementation 8 | 9 | ------------------------------------------------------------------------- 10 | History: 11 | - 09:01:2006 14:00 : Created by Michael Rauh 12 | 13 | *************************************************************************/ 14 | #ifndef __DebugGun_H__ 15 | #define __DebugGun_H__ 16 | 17 | #if _MSC_VER > 1000 18 | # pragma once 19 | #endif 20 | 21 | 22 | #include 23 | #include "Weapon.h" 24 | 25 | 26 | class CDebugGun : 27 | public CWeapon 28 | { 29 | public: 30 | CDebugGun(); 31 | void OnAction(EntityId actorId, const ActionId& actionId, int activationMode, float value); 32 | void Update(SEntityUpdateContext& ctx, int update); 33 | void Shoot( bool bPrimary); 34 | virtual void GetMemoryStatistics(ICrySizer * s) { s->Add(*this); CWeapon::GetMemoryStatistics(s); s->AddContainer(m_fireModes); } 35 | 36 | virtual void Select(bool select); 37 | 38 | private: 39 | ICVar* m_pAIDebugDraw; 40 | int m_aiDebugDrawPrev; 41 | 42 | typedef std::pair TFmPair; 43 | std::vector m_fireModes; 44 | int m_fireMode; 45 | }; 46 | 47 | #endif // __DebugGun_H__ -------------------------------------------------------------------------------- /Code/Detonate.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fholger/crysis_vrmod/9406773fa89a3027d285adb236084bd5a7a98b45/Code/Detonate.cpp -------------------------------------------------------------------------------- /Code/Detonate.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fholger/crysis_vrmod/9406773fa89a3027d285adb236084bd5a7a98b45/Code/Detonate.h -------------------------------------------------------------------------------- /Code/DllMain.cpp: -------------------------------------------------------------------------------- 1 | /************************************************************************* 2 | Crytek Source File. 3 | Copyright (C), Crytek Studios, 2001-2007. 4 | ------------------------------------------------------------------------- 5 | Description: Dll Entry point to capture dll instance handle (needed for loading of embedded resources) 6 | 7 | ------------------------------------------------------------------------- 8 | History: 9 | - 01:11:2007: Created by Marco Koegler 10 | *************************************************************************/ 11 | #include "StdAfx.h" 12 | #if defined(WIN32) && !defined(XENON) 13 | #include 14 | 15 | void* g_hInst = 0; 16 | 17 | extern "C" __declspec(dllexport) const char* GetUserDirName() 18 | { 19 | return "Crysis VR"; 20 | } 21 | 22 | BOOL APIENTRY DllMain ( HINSTANCE hInst, DWORD reason, LPVOID reserved ) 23 | { 24 | if ( reason == DLL_PROCESS_ATTACH ) 25 | g_hInst = hInst; 26 | return TRUE; 27 | } 28 | #endif 29 | -------------------------------------------------------------------------------- /Code/EMPField.h: -------------------------------------------------------------------------------- 1 | /************************************************************************* 2 | Crytek Source File. 3 | Copyright (C), Crytek Studios, 2001-2007. 4 | ------------------------------------------------------------------------- 5 | $Id:$ 6 | $DateTime$ 7 | Description: Anti-Suit field 8 | ------------------------------------------------------------------------- 9 | History: 10 | - 10:04:2007 14:39 : Created by Marco Koegler 11 | - 21:08:2007 Benito G.R. - Not used (not registered in WeaponSytem) 12 | 13 | *************************************************************************/ 14 | 15 | #ifndef __EMPFIELD_H__ 16 | #define __EMPFIELD_H__ 17 | 18 | #if _MSC_VER > 1000 19 | # pragma once 20 | #endif 21 | 22 | 23 | #include "Projectile.h" 24 | 25 | class CPlayer; 26 | 27 | class CEMPField : public CProjectile 28 | { 29 | public: 30 | CEMPField(); 31 | virtual ~CEMPField(); 32 | 33 | virtual bool Init(IGameObject *pGameObject); 34 | virtual void ProcessEvent(SEntityEvent &event); 35 | virtual void Launch(const Vec3 &pos, const Vec3 &dir, const Vec3 &velocity, float speedScale); 36 | 37 | protected: 38 | void OnEMPActivate(); 39 | void OnPlayerEnter(CPlayer* pPlayer); 40 | void OnPlayerLeave(CPlayer* pPlayer); 41 | void ReleaseAll(); 42 | void RemoveEntity(EntityId id); 43 | 44 | protected: 45 | typedef std::vector TEntities; 46 | TEntities m_players; 47 | float m_activationTime; 48 | float m_radius; 49 | bool m_charging; 50 | int m_empEffectId; 51 | }; 52 | 53 | 54 | #endif // __EMPFIELD_H__ -------------------------------------------------------------------------------- /Code/Environment/FlowTornado.cpp: -------------------------------------------------------------------------------- 1 | // ------------------------------------------------------------------------- 2 | // Crytek Source File. 3 | // Copyright (C) Crytek GmbH, 2001-2008. 4 | // ------------------------------------------------------------------------- 5 | #include "StdAfx.h" 6 | #include "FlowTornado.h" 7 | 8 | REGISTER_FLOW_NODE("Crysis:TornadoWander", CFlowTornadoWander); 9 | -------------------------------------------------------------------------------- /Code/Environment/Shake.h: -------------------------------------------------------------------------------- 1 | /************************************************************************* 2 | Crytek Source File. 3 | Copyright (C), Crytek Studios, 2001-2006. 4 | ------------------------------------------------------------------------- 5 | $Id$ 6 | $DateTime$ 7 | Description: Shake entity 8 | 9 | ------------------------------------------------------------------------- 10 | History: 11 | - 27:04:2006: Created by Marco Koegler 12 | 13 | *************************************************************************/ 14 | #ifndef __SHAKE_H__ 15 | #define __SHAKE_H__ 16 | #pragma once 17 | 18 | #include 19 | 20 | class CShake : public CGameObjectExtensionHelper 21 | { 22 | public: 23 | CShake(); 24 | virtual ~CShake(); 25 | 26 | // IGameObjectExtension 27 | virtual bool Init(IGameObject *pGameObject); 28 | virtual void InitClient(int channelId) {}; 29 | virtual void PostInit(IGameObject *pGameObject); 30 | virtual void PostInitClient(int channelId) {}; 31 | virtual void Release(); 32 | virtual bool NetSerialize(TSerialize ser, EEntityAspects aspect, uint8 profile, int pflags) { return true; } 33 | virtual void FullSerialize(TSerialize ser); 34 | virtual void PostSerialize() {} 35 | virtual void SerializeSpawnInfo( TSerialize ser ) {} 36 | virtual ISerializableInfoPtr GetSpawnInfo() {return 0;} 37 | virtual void Update( SEntityUpdateContext &ctx, int updateSlot); 38 | virtual void PostUpdate(float frameTime ) {}; 39 | virtual void PostRemoteSpawn() {}; 40 | virtual void HandleEvent( const SGameObjectEvent &); 41 | virtual void ProcessEvent(SEntityEvent &); 42 | virtual void SetChannelId(uint16 id) {} 43 | virtual void SetAuthority(bool auth); 44 | virtual void GetMemoryStatistics(ICrySizer * s) { s->Add(*this); } 45 | //~IGameObjectExtension 46 | 47 | 48 | protected: 49 | float m_radius; 50 | float m_shake; 51 | }; 52 | 53 | #endif //__SHAKE_H__ 54 | -------------------------------------------------------------------------------- /Code/Fists.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fholger/crysis_vrmod/9406773fa89a3027d285adb236084bd5a7a98b45/Code/Fists.h -------------------------------------------------------------------------------- /Code/FlowItemAnimation.cpp: -------------------------------------------------------------------------------- 1 | // ------------------------------------------------------------------------- 2 | // Crytek Source File. 3 | // Copyright (C) Crytek GmbH, 2001-2008. 4 | // ------------------------------------------------------------------------- 5 | #include "StdAfx.h" 6 | #include "FlowItemAnimation.h" 7 | 8 | REGISTER_FLOW_NODE("Crysis:ItemAnimation", CFlowItemAnimation); 9 | REGISTER_FLOW_NODE("Crysis:OffHandAnimation", CFlowOffhandAnimation); 10 | -------------------------------------------------------------------------------- /Code/FreezingBeam.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fholger/crysis_vrmod/9406773fa89a3027d285adb236084bd5a7a98b45/Code/FreezingBeam.cpp -------------------------------------------------------------------------------- /Code/FreezingBeam.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fholger/crysis_vrmod/9406773fa89a3027d285adb236084bd5a7a98b45/Code/FreezingBeam.h -------------------------------------------------------------------------------- /Code/Game.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fholger/crysis_vrmod/9406773fa89a3027d285adb236084bd5a7a98b45/Code/Game.h -------------------------------------------------------------------------------- /Code/GameDll.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fholger/crysis_vrmod/9406773fa89a3027d285adb236084bd5a7a98b45/Code/GameDll.cpp -------------------------------------------------------------------------------- /Code/GameFactory.h: -------------------------------------------------------------------------------- 1 | /************************************************************************* 2 | Crytek Source File. 3 | Copyright (C), Crytek Studios, 2001-2005. 4 | ------------------------------------------------------------------------- 5 | $Id$ 6 | $DateTime$ 7 | Description: Register the factory templates used to create classes from names 8 | e.g. REGISTER_FACTORY(pFramework, "Player", CPlayer, false); 9 | or REGISTER_FACTORY(pFramework, "Player", CPlayerG4, false); 10 | 11 | Since overriding this function creates template based linker errors, 12 | it's been replaced by a standalone function in its own cpp file. 13 | 14 | ------------------------------------------------------------------------- 15 | History: 16 | - 17:8:2005 Created by Nick Hesketh - Refactor'd from Game.cpp/h 17 | 18 | *************************************************************************/ 19 | 20 | #ifndef __GAMEFACTORY_H__ 21 | #define __GAMEFACTORY_H__ 22 | 23 | #if _MSC_VER > 1000 24 | # pragma once 25 | #endif 26 | 27 | 28 | struct IGameFramework; 29 | 30 | // Register the factory templates used to create classes from names. Called via CGame::Init() 31 | void InitGameFactory(IGameFramework *pFramework); 32 | 33 | 34 | #endif // ifndef __GAMEFACTORY_H__ 35 | -------------------------------------------------------------------------------- /Code/GameRules.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fholger/crysis_vrmod/9406773fa89a3027d285adb236084bd5a7a98b45/Code/GameRules.cpp -------------------------------------------------------------------------------- /Code/GameRules.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fholger/crysis_vrmod/9406773fa89a3027d285adb236084bd5a7a98b45/Code/GameRules.h -------------------------------------------------------------------------------- /Code/HUD/GameFlashAnimation.h: -------------------------------------------------------------------------------- 1 | /************************************************************************* 2 | Crytek Source File. 3 | Copyright (C), Crytek Studios, 2001-2005. 4 | ------------------------------------------------------------------------- 5 | $Id$ 6 | $DateTime$ 7 | Description: 8 | 9 | ------------------------------------------------------------------------- 10 | History: 11 | - 07:11:2005: Created by Julien Darre 12 | 13 | *************************************************************************/ 14 | #ifndef __GAMEFLASHANIMATION_H__ 15 | #define __GAMEFLASHANIMATION_H__ 16 | 17 | //----------------------------------------------------------------------------------------------------- 18 | 19 | #include 20 | #include "FlashAnimation.h" 21 | 22 | // Forward declarations 23 | class CGameFlashLogic; 24 | 25 | enum EFlashAnimFlags 26 | { 27 | eFAF_ThisHandler = (1 << 5), 28 | eFAF_Visible = (1 << 6), 29 | eFAF_ManualRender = (1 << 7), 30 | eFAF_Default = (eFAF_ThisHandler|eFAF_Visible) 31 | }; 32 | 33 | class CGameFlashAnimation : public CFlashAnimation 34 | { 35 | public: 36 | CGameFlashAnimation(); 37 | virtual ~ CGameFlashAnimation(); 38 | 39 | void Init(const char *strFileName, EFlashDock docking = eFD_Center, uint32 flags = eFAF_Default); 40 | bool Load(const char *strFileName, EFlashDock docking = eFD_Center, uint32 flags = eFAF_Default); 41 | bool Reload(bool forceUnload=false); 42 | virtual void Unload(); 43 | uint32 GetFlags() const; 44 | void AddVariable(const char *strControl,const char *strVariable, const char *strToken,float fScale,float fOffset); 45 | void ReInitVariables(); 46 | void GetMemoryStatistics(ICrySizer * s); 47 | 48 | private: 49 | string m_fileName; 50 | uint32 m_flags; 51 | 52 | typedef DynArray TGameFlashLogicsList; 53 | TGameFlashLogicsList m_gameFlashLogicsList; 54 | }; 55 | 56 | #endif //__GAMEFLASHANIMATION_H__ 57 | -------------------------------------------------------------------------------- /Code/HUD/HUD.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fholger/crysis_vrmod/9406773fa89a3027d285adb236084bd5a7a98b45/Code/HUD/HUD.h -------------------------------------------------------------------------------- /Code/HUD/HUDCrosshair.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fholger/crysis_vrmod/9406773fa89a3027d285adb236084bd5a7a98b45/Code/HUD/HUDCrosshair.h -------------------------------------------------------------------------------- /Code/HUD/HUDMissionObjectiveSystem.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fholger/crysis_vrmod/9406773fa89a3027d285adb236084bd5a7a98b45/Code/HUD/HUDMissionObjectiveSystem.h -------------------------------------------------------------------------------- /Code/HUD/HUDObituary.cpp: -------------------------------------------------------------------------------- 1 | // ------------------------------------------------------------------------- 2 | // Crytek Source File. 3 | // Copyright (C) Crytek GmbH, 2001-2008. 4 | // ------------------------------------------------------------------------- 5 | #include "StdAfx.h" 6 | #include "HUDObituary.h" 7 | #include "IUIDraw.h" 8 | #include "Game.h" 9 | 10 | CHUDObituary::CHUDObituary() 11 | : m_deathHead(0), m_empty(true) 12 | { 13 | m_pDefaultFont = GetISystem()->GetICryFont()->GetFont("default"); 14 | CRY_ASSERT(m_pDefaultFont); 15 | } 16 | 17 | CHUDObituary::~CHUDObituary() 18 | { 19 | } 20 | 21 | void CHUDObituary::Update(float fDeltaTime) 22 | { 23 | if(!m_empty) 24 | { 25 | CTimeValue now = gEnv->pTimer->GetCurrTime(); 26 | 27 | m_empty=true; 28 | int msg=m_deathHead; 29 | int y=0; 30 | for (int i=0; i3500.0f) 37 | alpha=1.0f-((age-3500.0f)/4500.0f); 38 | gEnv->pGame->GetIGameFramework()->GetIUIDraw()->DrawTextW(m_pDefaultFont, 10, 8.0f+y*20.0f, 18.0f, 18.0f, m_deaths[msg].c_str(), alpha, 0.76f, 0.97f, 0.74f, UIDRAWHORIZONTAL_LEFT, UIDRAWVERTICAL_TOP, UIDRAWHORIZONTAL_LEFT, UIDRAWVERTICAL_TOP); 39 | m_empty=false; 40 | y++; 41 | } 42 | msg++; 43 | if(msg>OBITUARY_SIZE-1) 44 | msg=0; 45 | } 46 | } 47 | } 48 | 49 | void CHUDObituary::AddMessage(const wchar_t *msg) 50 | { 51 | m_deaths[m_deathHead] = msg; 52 | m_deathTimes[m_deathHead] = gEnv->pTimer->GetCurrTime(); 53 | m_deathHead++; 54 | 55 | if(m_deathHead > OBITUARY_SIZE-1) 56 | m_deathHead = 0; 57 | 58 | m_empty = false; 59 | } 60 | 61 | void CHUDObituary::GetMemoryStatistics(ICrySizer * s) 62 | { 63 | s->Add(*this); 64 | for (int i=0; iAdd(m_deaths[i]); 66 | } -------------------------------------------------------------------------------- /Code/HUD/HUDObituary.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fholger/crysis_vrmod/9406773fa89a3027d285adb236084bd5a7a98b45/Code/HUD/HUDObituary.h -------------------------------------------------------------------------------- /Code/HUD/HUDObject.cpp: -------------------------------------------------------------------------------- 1 | /************************************************************************* 2 | Crytek Source File. 3 | Copyright (C), Crytek Studios, 2001-2005. 4 | ------------------------------------------------------------------------- 5 | $Id$ 6 | $DateTime$ 7 | Description: 8 | Header for HUD object base class 9 | Defines base class for HUD elements that are drawn using C++ rather than Flash 10 | Shared by G02 and G04 11 | 12 | ------------------------------------------------------------------------- 13 | History: 14 | - 07:11:2005: Created by Julien Darre 15 | - 22:02:2006: Refactored for G04 by Matthew Jack 16 | 17 | *************************************************************************/ 18 | #include "StdAfx.h" 19 | #include "HUDObject.h" 20 | #include "IGame.h" 21 | #include "IGameFramework.h" 22 | 23 | //----------------------------------------------------------------------------------------------------- 24 | 25 | CHUDObject::CHUDObject() 26 | { 27 | m_fX = 0.0f; 28 | m_fY = 0.0f; 29 | } 30 | 31 | //----------------------------------------------------------------------------------------------------- 32 | 33 | CHUDObject::~CHUDObject() 34 | { 35 | } 36 | 37 | //----------------------------------------------------------------------------------------------------- 38 | 39 | void CHUDObject::GetHUDObjectMemoryStatistics(ICrySizer * s) 40 | { 41 | } 42 | 43 | //----------------------------------------------------------------------------------------------------- -------------------------------------------------------------------------------- /Code/HUD/HUDObject.h: -------------------------------------------------------------------------------- 1 | /************************************************************************* 2 | Crytek Source File. 3 | Copyright (C), Crytek Studios, 2001-2005. 4 | ------------------------------------------------------------------------- 5 | $Id$ 6 | $DateTime$ 7 | Description: 8 | Header for HUD object base class 9 | Shared by G02 and G04 10 | 11 | ------------------------------------------------------------------------- 12 | History: 13 | - 07:11:2005: Created by Julien Darre 14 | - 22:02:2006: Refactored for G04 by Matthew Jack 15 | 16 | *************************************************************************/ 17 | #ifndef __HUDOBJECT_H__ 18 | #define __HUDOBJECT_H__ 19 | 20 | //----------------------------------------------------------------------------------------------------- 21 | 22 | #include "ISerialize.h" 23 | 24 | //----------------------------------------------------------------------------------------------------- 25 | 26 | class CHUDObject 27 | { 28 | public: 29 | 30 | CHUDObject(); 31 | virtual ~ CHUDObject(); 32 | 33 | virtual void Update(float fDeltaTime) = 0; 34 | 35 | virtual void PreUpdate() {}; 36 | virtual void OnHUDToBeDestroyed() {}; 37 | virtual void Serialize(TSerialize ser) {}; 38 | 39 | void GetHUDObjectMemoryStatistics(ICrySizer * s); 40 | 41 | protected: 42 | 43 | float m_fX; 44 | float m_fY; 45 | }; 46 | 47 | //----------------------------------------------------------------------------------------------------- 48 | 49 | #endif 50 | 51 | //----------------------------------------------------------------------------------------------------- -------------------------------------------------------------------------------- /Code/HUD/HUDPowerStruggle.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fholger/crysis_vrmod/9406773fa89a3027d285adb236084bd5a7a98b45/Code/HUD/HUDPowerStruggle.cpp -------------------------------------------------------------------------------- /Code/HUD/HUDPowerStruggle.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fholger/crysis_vrmod/9406773fa89a3027d285adb236084bd5a7a98b45/Code/HUD/HUDPowerStruggle.h -------------------------------------------------------------------------------- /Code/HUD/HUDRadar.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fholger/crysis_vrmod/9406773fa89a3027d285adb236084bd5a7a98b45/Code/HUD/HUDRadar.cpp -------------------------------------------------------------------------------- /Code/HUD/HUDRadar.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fholger/crysis_vrmod/9406773fa89a3027d285adb236084bd5a7a98b45/Code/HUD/HUDRadar.h -------------------------------------------------------------------------------- /Code/HUD/HUDScopes.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fholger/crysis_vrmod/9406773fa89a3027d285adb236084bd5a7a98b45/Code/HUD/HUDScopes.cpp -------------------------------------------------------------------------------- /Code/HUD/HUDScopes.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fholger/crysis_vrmod/9406773fa89a3027d285adb236084bd5a7a98b45/Code/HUD/HUDScopes.h -------------------------------------------------------------------------------- /Code/HUD/HUDScore.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fholger/crysis_vrmod/9406773fa89a3027d285adb236084bd5a7a98b45/Code/HUD/HUDScore.cpp -------------------------------------------------------------------------------- /Code/HUD/HUDScore.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fholger/crysis_vrmod/9406773fa89a3027d285adb236084bd5a7a98b45/Code/HUD/HUDScore.h -------------------------------------------------------------------------------- /Code/HUD/HUDTextArea.h: -------------------------------------------------------------------------------- 1 | /************************************************************************* 2 | Crytek Source File. 3 | Copyright (C), Crytek Studios, 2001-2006. 4 | ------------------------------------------------------------------------- 5 | $Id$ 6 | $DateTime$ 7 | Description: Some scrolling fading area of text messages 8 | 9 | ------------------------------------------------------------------------- 10 | History: 11 | - 13:06:2006: Created by Marco Koegler 12 | 13 | *************************************************************************/ 14 | #ifndef __HUDTEXTAREA_H__ 15 | #define __HUDTEXTAREA_H__ 16 | 17 | 18 | #include "HUDObject.h" 19 | #include 20 | 21 | struct ITimer; 22 | 23 | class CHUDTextArea : public CHUDObject 24 | { 25 | struct SHUDTextEntry 26 | { 27 | string message; 28 | float time; 29 | }; 30 | 31 | typedef std::list THUDTextEntries; 32 | 33 | public: 34 | CHUDTextArea(); 35 | virtual ~CHUDTextArea(); 36 | 37 | virtual void Update(float deltaTime); 38 | virtual void AddMessage(const char* msg); 39 | 40 | void GetMemoryStatistics(ICrySizer * s); 41 | 42 | // Description: 43 | // Set position of top-left corner of text area 44 | void SetPos(const Vec2& pos); 45 | 46 | // Description: 47 | // Set fadeout time (in seconds ... default is 4 secs). 48 | void SetFadeTime(float fadetime); 49 | 50 | private: 51 | IFFont* m_pDefaultFont; 52 | THUDTextEntries m_entries; // the entries which are currently being displayed 53 | ITimer* m_pTimer; 54 | Vec2 m_pos; // position of top-left corner 55 | float m_fadetime; // time in seconds for one entry to fade away 56 | }; 57 | 58 | #endif //__HUDTEXTAREA_H__ -------------------------------------------------------------------------------- /Code/HUD/HUDTextChat.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fholger/crysis_vrmod/9406773fa89a3027d285adb236084bd5a7a98b45/Code/HUD/HUDTextChat.cpp -------------------------------------------------------------------------------- /Code/HUD/HUDTextChat.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fholger/crysis_vrmod/9406773fa89a3027d285adb236084bd5a7a98b45/Code/HUD/HUDTextChat.h -------------------------------------------------------------------------------- /Code/HUD/HUDVehicleInterface.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fholger/crysis_vrmod/9406773fa89a3027d285adb236084bd5a7a98b45/Code/HUD/HUDVehicleInterface.cpp -------------------------------------------------------------------------------- /Code/HUD/HUDVehicleInterface.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fholger/crysis_vrmod/9406773fa89a3027d285adb236084bd5a7a98b45/Code/HUD/HUDVehicleInterface.h -------------------------------------------------------------------------------- /Code/HUD/ScriptBind_HUD.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fholger/crysis_vrmod/9406773fa89a3027d285adb236084bd5a7a98b45/Code/HUD/ScriptBind_HUD.cpp -------------------------------------------------------------------------------- /Code/HUD/ScriptBind_HUD.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fholger/crysis_vrmod/9406773fa89a3027d285adb236084bd5a7a98b45/Code/HUD/ScriptBind_HUD.h -------------------------------------------------------------------------------- /Code/HUD/Tweaks/TweakCommon.cpp: -------------------------------------------------------------------------------- 1 | /************************************************************************* 2 | Crytek Source File. 3 | Copyright (C), Crytek Studios, 2006. 4 | ------------------------------------------------------------------------- 5 | 6 | Description: 7 | Base class for Tweak menu components 8 | 9 | ------------------------------------------------------------------------- 10 | History: 11 | - 28:02:2006 : Created by Matthew Jack 12 | 13 | Notes: m_bIsInit is a bad idea - only need one in HUDTweak 14 | 15 | *************************************************************************/ 16 | 17 | #include "StdAfx.h" 18 | #include "TweakCommon.h" 19 | #include "TweakMenu.h" 20 | #include "TweakMetadata.h" 21 | #include "IScriptSystem.h" 22 | 23 | //------------------------------------------------------------------------- 24 | 25 | string CTweakCommon::FetchStringValue(IScriptTable *pTable, const char *sKey) 26 | { 27 | string result; 28 | const char * sString; 29 | if (pTable->GetValue(sKey,sString)) { 30 | result = sString; 31 | } 32 | return result; 33 | } 34 | 35 | //------------------------------------------------------------------------- 36 | 37 | CTweakCommon * CTweakCommon::GetNewTweak( IScriptTable *pTable ) { 38 | // Identify what kind of Tweak this is 39 | CTweakCommon *p_tweak = NULL; 40 | 41 | // A menu? 42 | if (pTable->HaveValue("MENU")) 43 | p_tweak = new CTweakMenu(pTable); 44 | 45 | // A Tweak metadata item? 46 | else if (pTable->HaveValue("NAME")) 47 | p_tweak = CTweakMetadata::GetNewMetadata(pTable); 48 | 49 | if (p_tweak) return p_tweak; 50 | 51 | // Otherwise an unrecognised table 52 | return new CTweakCommon("*Unrecognised table*"); 53 | } 54 | -------------------------------------------------------------------------------- /Code/HUD/Tweaks/TweakMetadata.h: -------------------------------------------------------------------------------- 1 | /************************************************************************* 2 | Crytek Source File. 3 | Copyright (C), Crytek Studios, 2006. 4 | ------------------------------------------------------------------------- 5 | 6 | Description: 7 | Header for CTweakMetadata 8 | 9 | ------------------------------------------------------------------------- 10 | History: 11 | - 28:02:2006 : Created by Matthew Jack 12 | 13 | *************************************************************************/ 14 | 15 | 16 | #ifndef __CTWEAKMETADATA_H__ 17 | #define __CTWEAKMETADATA_H__ 18 | 19 | #pragma once 20 | 21 | //------------------------------------------------------------------------- 22 | 23 | #include "TweakCommon.h" 24 | 25 | //------------------------------------------------------------------------- 26 | // Forward declarations 27 | 28 | struct IScriptTable; 29 | 30 | //------------------------------------------------------------------------- 31 | 32 | class CTweakMetadata : public CTweakCommon { 33 | public: 34 | 35 | CTweakMetadata(IScriptTable *pTable); 36 | 37 | ~CTweakMetadata() {}; 38 | 39 | virtual string GetValue(void) = 0; 40 | 41 | virtual bool DecreaseValue(void) = 0; 42 | 43 | virtual bool IncreaseValue(void) = 0; 44 | 45 | ETweakType GetType(void) { return eTT_Metadata; } 46 | 47 | static CTweakCommon * GetNewMetadata(IScriptTable *pTable); 48 | 49 | void Init(void) {}; 50 | 51 | protected: 52 | 53 | // Was the metadata constructed successfully? 54 | bool m_bValid; 55 | 56 | // The variable this Tweak would tweak 57 | string m_sVariable; // The name of the CVAR/LUA variable 58 | 59 | // The delta hint amount 60 | double m_fDelta; 61 | }; 62 | 63 | #endif // __CTWEAKMETADATA_H__ -------------------------------------------------------------------------------- /Code/HUD/Tweaks/TweakMetadataCVAR.h: -------------------------------------------------------------------------------- 1 | /************************************************************************* 2 | Crytek Source File. 3 | Copyright (C), Crytek Studios, 2006. 4 | ------------------------------------------------------------------------- 5 | 6 | Description: 7 | Header for CTweakMetadata 8 | 9 | ------------------------------------------------------------------------- 10 | History: 11 | - 28:02:2006 : Created by Matthew Jack 12 | 13 | *************************************************************************/ 14 | 15 | 16 | #ifndef __CTWEAKMETADATACVAR_H__ 17 | #define __CTWEAKMETADATACVAR_H__ 18 | 19 | #pragma once 20 | 21 | //------------------------------------------------------------------------- 22 | 23 | #include "TweakMetadata.h" 24 | 25 | //------------------------------------------------------------------------- 26 | // Forward declarations 27 | 28 | struct IScriptTable; 29 | 30 | //------------------------------------------------------------------------- 31 | 32 | class CTweakMetadataCVAR : public CTweakMetadata { 33 | public: 34 | 35 | CTweakMetadataCVAR(IScriptTable *pTable); 36 | 37 | ~CTweakMetadataCVAR() {}; 38 | 39 | string GetValue(void); 40 | 41 | bool DecreaseValue(void) { return ChangeValue(false); } 42 | 43 | bool IncreaseValue(void) { return ChangeValue(true); } 44 | 45 | void UpdateChanges( IScriptTable *pTable ) { /* CVARs save themselves */ } 46 | 47 | protected: 48 | 49 | // Increment/decrement the value 50 | bool ChangeValue(bool bIncrement); 51 | 52 | // Wraps fetching the CVAR 53 | ICVar * GetCVar(void) const; 54 | 55 | // Type of the CVAR 56 | int m_CVarType; 57 | }; 58 | 59 | #endif // __CTWEAKMETADATACVAR_H__ -------------------------------------------------------------------------------- /Code/HomingMissile.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fholger/crysis_vrmod/9406773fa89a3027d285adb236084bd5a7a98b45/Code/HomingMissile.h -------------------------------------------------------------------------------- /Code/Item.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fholger/crysis_vrmod/9406773fa89a3027d285adb236084bd5a7a98b45/Code/Item.cpp -------------------------------------------------------------------------------- /Code/Item.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fholger/crysis_vrmod/9406773fa89a3027d285adb236084bd5a7a98b45/Code/Item.h -------------------------------------------------------------------------------- /Code/ItemAccessory.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fholger/crysis_vrmod/9406773fa89a3027d285adb236084bd5a7a98b45/Code/ItemAccessory.cpp -------------------------------------------------------------------------------- /Code/ItemClientServer.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fholger/crysis_vrmod/9406773fa89a3027d285adb236084bd5a7a98b45/Code/ItemClientServer.cpp -------------------------------------------------------------------------------- /Code/ItemDualWield.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fholger/crysis_vrmod/9406773fa89a3027d285adb236084bd5a7a98b45/Code/ItemDualWield.cpp -------------------------------------------------------------------------------- /Code/ItemEffect.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fholger/crysis_vrmod/9406773fa89a3027d285adb236084bd5a7a98b45/Code/ItemEffect.cpp -------------------------------------------------------------------------------- /Code/ItemEvents.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fholger/crysis_vrmod/9406773fa89a3027d285adb236084bd5a7a98b45/Code/ItemEvents.cpp -------------------------------------------------------------------------------- /Code/ItemParamReader.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fholger/crysis_vrmod/9406773fa89a3027d285adb236084bd5a7a98b45/Code/ItemParamReader.h -------------------------------------------------------------------------------- /Code/ItemParams.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fholger/crysis_vrmod/9406773fa89a3027d285adb236084bd5a7a98b45/Code/ItemParams.cpp -------------------------------------------------------------------------------- /Code/ItemResource.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fholger/crysis_vrmod/9406773fa89a3027d285adb236084bd5a7a98b45/Code/ItemResource.cpp -------------------------------------------------------------------------------- /Code/ItemScheduler.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fholger/crysis_vrmod/9406773fa89a3027d285adb236084bd5a7a98b45/Code/ItemScheduler.cpp -------------------------------------------------------------------------------- /Code/ItemScheduler.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fholger/crysis_vrmod/9406773fa89a3027d285adb236084bd5a7a98b45/Code/ItemScheduler.h -------------------------------------------------------------------------------- /Code/ItemSharedParams.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fholger/crysis_vrmod/9406773fa89a3027d285adb236084bd5a7a98b45/Code/ItemSharedParams.cpp -------------------------------------------------------------------------------- /Code/ItemSharedParams.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fholger/crysis_vrmod/9406773fa89a3027d285adb236084bd5a7a98b45/Code/ItemSharedParams.h -------------------------------------------------------------------------------- /Code/LCD/ILCD.h: -------------------------------------------------------------------------------- 1 | /************************************************************************* 2 | Crytek Source File. 3 | Copyright (C), Crytek Studios, 2001-2007. 4 | ------------------------------------------------------------------------- 5 | Description: Stub interface for Logitech G15 SDK and functionality 6 | 7 | ------------------------------------------------------------------------- 8 | History: 9 | - 01:11:2007: Created by Marco Koegler 10 | 11 | *************************************************************************/ 12 | #ifndef __ILCD_H__ 13 | #define __ILCD_H__ 14 | 15 | struct ILCD 16 | { 17 | virtual ~ILCD(){} 18 | 19 | virtual bool Init() = 0; 20 | virtual void Update(float frameTime) = 0; 21 | }; 22 | 23 | class CNullLCD : public ILCD 24 | { 25 | public: 26 | virtual bool Init() { return true; } 27 | virtual void Update(float frameTime){} 28 | }; 29 | 30 | #endif -------------------------------------------------------------------------------- /Code/LCD/LCDWrapper.h: -------------------------------------------------------------------------------- 1 | /************************************************************************* 2 | Crytek Source File. 3 | Copyright (C), Crytek Studios, 2001-2007. 4 | ------------------------------------------------------------------------- 5 | Description: Wrapper for Logitech G15 SDK and functionality 6 | 7 | ------------------------------------------------------------------------- 8 | History: 9 | - 01:11:2007: Created by Marco Koegler 10 | 11 | *************************************************************************/ 12 | #ifndef __LCDWRAPPER_H__ 13 | #define __LCDWRAPPER_H__ 14 | 15 | #include "ILCD.h" 16 | 17 | #ifdef USE_G15_LCD 18 | 19 | class CEzLcd; 20 | class CLCDPage; 21 | class CLCDImage; 22 | 23 | class CG15LCD : public ILCD 24 | { 25 | public: 26 | CG15LCD(); 27 | virtual ~CG15LCD(); 28 | 29 | //ILCD 30 | virtual bool Init(); 31 | virtual void Update(float frameTime); 32 | //~ILCD 33 | 34 | bool IsConnected(); 35 | 36 | CLCDImage* CreateImage(const char* name=0, bool visible=true); 37 | 38 | CEzLcd* GetEzLcd() const { return m_pImpl; }; 39 | int AddPage(CLCDPage* pPage, int pageId = -1); 40 | 41 | void SetCurrentPage(int pageId = -1); 42 | int GetCurrentPage() const { return m_currentPage; } 43 | void ShowCurrentPage(); 44 | 45 | // state machine states 46 | int LogoPage; 47 | int LoadingPage; 48 | int GameStatusPage; 49 | int PlayerStatusPage; 50 | 51 | private: 52 | typedef std::vector TLCDPages; 53 | 54 | CEzLcd* m_pImpl; 55 | int m_currentPage; 56 | TLCDPages m_pages; 57 | float m_tick; 58 | }; 59 | 60 | #endif //USE_G15_LCD 61 | 62 | #endif -------------------------------------------------------------------------------- /Code/Menus/CreateGame.h: -------------------------------------------------------------------------------- 1 | /************************************************************************* 2 | Crytek Source File. 3 | Copyright (C), Crytek Studios, 2001-2007. 4 | ------------------------------------------------------------------------- 5 | $Id$ 6 | $DateTime$ 7 | Description: Create Game screen 8 | 9 | ------------------------------------------------------------------------- 10 | History: 11 | - 03/12/2006: Created by Stas Spivakov 12 | 13 | *************************************************************************/ 14 | #ifndef __CREATEGAME_H__ 15 | #define __CREATEGAME_H__ 16 | 17 | #pragma once 18 | 19 | class CMPHub; 20 | 21 | struct CMultiPlayerMenu::SCreateGame 22 | { 23 | SCreateGame(IFlashPlayer* plr, CMPHub* hub, bool lan); 24 | 25 | string m_name; 26 | string m_password; 27 | int m_maxplayers; 28 | int m_spectators; 29 | bool m_friendlyFire; 30 | int m_friendlyDamageRatio; 31 | bool m_enableKTK; 32 | int m_numKTKKills; 33 | bool m_VoIP; 34 | bool m_autoTeamBalance; 35 | bool m_controllersOnly; 36 | bool m_randomize; 37 | bool m_anticheat; 38 | bool m_dedicated; 39 | bool m_dx10; 40 | bool m_TOD; 41 | float m_TODStart; 42 | float m_TODSpeed; 43 | bool m_battleDust; 44 | bool m_lan; 45 | 46 | CMPHub* m_hub; 47 | 48 | IFlashPlayer* m_player; 49 | 50 | bool HandleFSCommand(EGsUiCommand cmd, const char* pArgs); 51 | void StartServer(); 52 | void GetLevelRotation(); 53 | void GetGlobalSettings(); 54 | void SetGlobalSettings(); 55 | void UpdateLevels(const char* gamemode); 56 | void StartDedicated(const char* params); 57 | }; 58 | 59 | #endif //__CREATEGAME_H__ -------------------------------------------------------------------------------- /Code/Menus/FlashMenuScreen.h: -------------------------------------------------------------------------------- 1 | /************************************************************************* 2 | Crytek Source File. 3 | Copyright (C), Crytek Studios, 2001-2005. 4 | ------------------------------------------------------------------------- 5 | $Id$ 6 | $DateTime$ 7 | Description: Flash menu screen base class 8 | 9 | ------------------------------------------------------------------------- 10 | History: 11 | - 07:18:2006: Created by Julien Darre 12 | 13 | *************************************************************************/ 14 | #ifndef __FLASHMENUSCREEN_H__ 15 | #define __FLASHMENUSCREEN_H__ 16 | 17 | #include "FlashAnimation.h" 18 | 19 | //----------------------------------------------------------------------------------------------------- 20 | 21 | class CFlashMenuScreen : public CFlashAnimation 22 | { 23 | public: 24 | void GetMemoryStatistics(ICrySizer * s); 25 | 26 | bool Load(const char *strFile); 27 | void UpdateRatio(); 28 | }; 29 | 30 | //----------------------------------------------------------------------------------------------------- 31 | 32 | #endif 33 | 34 | //----------------------------------------------------------------------------------------------------- -------------------------------------------------------------------------------- /Code/Menus/OptionsManager.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fholger/crysis_vrmod/9406773fa89a3027d285adb236084bd5a7a98b45/Code/Menus/OptionsManager.h -------------------------------------------------------------------------------- /Code/Menus/QuickGame.h: -------------------------------------------------------------------------------- 1 | /************************************************************************* 2 | Crytek Source File. 3 | Copyright (C), Crytek Studios, 2001-2007. 4 | ------------------------------------------------------------------------- 5 | $Id$ 6 | $DateTime$ 7 | Description: Quick game screen 8 | ------------------------------------------------------------------------- 9 | History: 10 | - 03/12/2006: Created by Stas Spivakov 11 | 12 | *************************************************************************/ 13 | 14 | #ifndef __QUICKGAME_H__ 15 | #define __QUICKGAME_H__ 16 | 17 | #pragma once 18 | 19 | struct IServerBrowser; 20 | class CMPHub; 21 | class CQuickGameDlg; 22 | 23 | class CQuickGame 24 | { 25 | struct SQGServerList; 26 | public: 27 | CQuickGame(); 28 | ~CQuickGame(); 29 | void StartSearch(CMPHub* hub); 30 | void Cancel(); 31 | void NextStage(); 32 | int GetStage()const; 33 | bool IsSearching()const; 34 | private: 35 | IServerBrowser* m_browser; 36 | int m_stage; 37 | bool m_searching; 38 | std::auto_ptr m_list; 39 | std::auto_ptr m_ui; 40 | }; 41 | 42 | #endif //__QUICKGAME_H__ -------------------------------------------------------------------------------- /Code/NanoSuit.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fholger/crysis_vrmod/9406773fa89a3027d285adb236084bd5a7a98b45/Code/NanoSuit.h -------------------------------------------------------------------------------- /Code/NetInputChainDebug.h: -------------------------------------------------------------------------------- 1 | /************************************************************************* 2 | Crytek Source File. 3 | Copyright (C), Crytek Studios, 2001-2004. 4 | ------------------------------------------------------------------------- 5 | 6 | Description: Utilities for debugging input synchronization problems 7 | 8 | ------------------------------------------------------------------------- 9 | History: 10 | - 30:03:2007 : Created by Craig Tiller 11 | 12 | *************************************************************************/ 13 | 14 | #ifndef __NETINPUTCHAINDEBUG_H__ 15 | #define __NETINPUTCHAINDEBUG_H__ 16 | 17 | #if !defined(LINUX) && !defined(PS3) 18 | #define ENABLE_NETINPUTCHAINDEBUG 1 19 | #endif 20 | 21 | void NetInputChainInitCVars(); 22 | 23 | #if ENABLE_NETINPUTCHAINDEBUG 24 | void NetInputChainPrint( const char * name, float val ); 25 | void NetInputChainPrint( const char * name, Vec3 val ); 26 | 27 | extern EntityId _netinputchain_debugentity; 28 | 29 | #define NETINPUT_TRACE(ent, val) if (ent != _netinputchain_debugentity); else NetInputChainPrint(#val, val) 30 | #else 31 | #define NETINPUT_TRACE(ent, val) ((void*)0) 32 | #endif 33 | 34 | #endif 35 | -------------------------------------------------------------------------------- /Code/NetPlayerInput.h: -------------------------------------------------------------------------------- 1 | // ------------------------------------------------------------------------- 2 | // Crytek Source File. 3 | // Copyright (C) Crytek GmbH, 2001-2008. 4 | // ------------------------------------------------------------------------- 5 | #ifndef __NETPLAYERINPUT_H__ 6 | #define __NETPLAYERINPUT_H__ 7 | 8 | #pragma once 9 | 10 | #include "IPlayerInput.h" 11 | 12 | class CPlayer; 13 | 14 | class CNetPlayerInput : public IPlayerInput 15 | { 16 | public: 17 | CNetPlayerInput( CPlayer * pPlayer ); 18 | 19 | // IPlayerInput 20 | virtual void PreUpdate(); 21 | virtual void Update(); 22 | virtual void PostUpdate(); 23 | 24 | virtual void SetState( const SSerializedPlayerInput& input ); 25 | virtual void GetState( SSerializedPlayerInput& input ); 26 | 27 | virtual void OnAction( const ActionId& action, int activationMode, float value ) {}; 28 | 29 | virtual void Reset(); 30 | virtual void DisableXI(bool disabled); 31 | 32 | virtual void GetMemoryStatistics(ICrySizer * s) {s->Add(*this);} 33 | 34 | virtual EInputType GetType() const 35 | { 36 | return NETPLAYER_INPUT; 37 | }; 38 | 39 | ILINE virtual uint32 GetMoveButtonsState() const { return 0; } 40 | ILINE virtual uint32 GetActions() const { return 0; } 41 | // ~IPlayerInput 42 | 43 | private: 44 | CPlayer * m_pPlayer; 45 | SSerializedPlayerInput m_curInput; 46 | 47 | void DoSetState( const SSerializedPlayerInput& input ); 48 | 49 | CTimeValue m_lastUpdate; 50 | 51 | struct SPrevPos 52 | { 53 | CTimeValue when; 54 | Vec3 where; 55 | Vec3 howFast; 56 | }; 57 | typedef MiniQueue TPreviousData; 58 | TPreviousData m_previousData; 59 | }; 60 | 61 | #endif 62 | -------------------------------------------------------------------------------- /Code/Observer.cpp: -------------------------------------------------------------------------------- 1 | /************************************************************************* 2 | Crytek Source File. 3 | Copyright (C), Crytek Studios, 2001-2004. 4 | ------------------------------------------------------------------------- 5 | $Id$ 6 | $DateTime$ 7 | 8 | ------------------------------------------------------------------------- 9 | History: 10 | - 9:6:2004: Created by Filippo De Luca 11 | - 15:8:2005: Renamed CDrone to CObserver by Mikko Mononen 12 | 13 | *************************************************************************/ 14 | #include "StdAfx.h" 15 | #include "Game.h" 16 | #include "Observer.h" 17 | #include "GameUtils.h" 18 | 19 | #include 20 | #include 21 | #include 22 | #include 23 | #include 24 | #include 25 | -------------------------------------------------------------------------------- /Code/Observer.h: -------------------------------------------------------------------------------- 1 | /************************************************************************* 2 | Crytek Source File. 3 | Copyright (C), Crytek Studios, 2001-2004. 4 | ------------------------------------------------------------------------- 5 | $Id$ 6 | $DateTime$ 7 | Description: Implements the Observer alien. 8 | 9 | ------------------------------------------------------------------------- 10 | History: 11 | - 9:6:2005: Created by Filippo De Luca 12 | - 15:8:2005: Renamed CDrone to CObserver by Mikko Mononen 13 | 14 | *************************************************************************/ 15 | #ifndef __OBSERVER_H__ 16 | #define __OBSERVER_H__ 17 | 18 | #if _MSC_VER > 1000 19 | # pragma once 20 | #endif 21 | 22 | #include "Hunter.h" 23 | 24 | class CObserver : 25 | public CHunter 26 | { 27 | public: 28 | 29 | virtual void SetActorStance(SMovementRequestParams &control, int& actions) 30 | { 31 | // Empty 32 | } 33 | 34 | protected: 35 | }; 36 | 37 | 38 | #endif //__OBSERVER_H__ 39 | -------------------------------------------------------------------------------- /Code/Plant.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fholger/crysis_vrmod/9406773fa89a3027d285adb236084bd5a7a98b45/Code/Plant.cpp -------------------------------------------------------------------------------- /Code/Plant.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fholger/crysis_vrmod/9406773fa89a3027d285adb236084bd5a7a98b45/Code/Plant.h -------------------------------------------------------------------------------- /Code/PlayerFeature.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fholger/crysis_vrmod/9406773fa89a3027d285adb236084bd5a7a98b45/Code/PlayerFeature.cpp -------------------------------------------------------------------------------- /Code/PlayerFeature.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fholger/crysis_vrmod/9406773fa89a3027d285adb236084bd5a7a98b45/Code/PlayerFeature.h -------------------------------------------------------------------------------- /Code/Projectile.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fholger/crysis_vrmod/9406773fa89a3027d285adb236084bd5a7a98b45/Code/Projectile.cpp -------------------------------------------------------------------------------- /Code/Projectile.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fholger/crysis_vrmod/9406773fa89a3027d285adb236084bd5a7a98b45/Code/Projectile.h -------------------------------------------------------------------------------- /Code/Radio.h: -------------------------------------------------------------------------------- 1 | // ------------------------------------------------------------------------- 2 | // Crytek Source File. 3 | // Copyright (C) Crytek GmbH, 2001-2008. 4 | // ------------------------------------------------------------------------- 5 | #ifndef __RADIO_H__ 6 | #define __RADIO_H__ 7 | 8 | #pragma once 9 | 10 | #include "GameActions.h" 11 | #include "IInput.h" 12 | 13 | class CGameRules; 14 | 15 | class CRadio:public IInputEventListener 16 | { 17 | public: 18 | CRadio(CGameRules*); 19 | ~CRadio(); 20 | bool OnAction(const ActionId& actionId, int activationMode, float value); 21 | 22 | void Update(); 23 | 24 | static const int RADIO_MESSAGE_NUM; 25 | 26 | //from IInputEventListener 27 | virtual bool OnInputEvent( const SInputEvent &event ); 28 | void OnRadioMessage(int id, EntityId fromId); 29 | void CancelRadio(); 30 | void SetTeam(const string& name); 31 | void GetMemoryStatistics(ICrySizer * s); 32 | private: 33 | CGameRules *m_pGameRules; 34 | int m_currentGroup; 35 | string m_TeamName; 36 | float m_lastMessageTime; 37 | float m_menuOpenTime; // used to close the menu if no input within n seconds. 38 | 39 | bool m_keyState[10]; 40 | bool m_keyIgnored[10]; 41 | int m_requestedGroup; 42 | bool m_inputEventConsumedKey; 43 | bool m_waitForInputEvents; 44 | bool UpdatePendingGroup(); 45 | 46 | void CloseRadioMenu(); 47 | }; 48 | 49 | #endif -------------------------------------------------------------------------------- /Code/Rapid.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fholger/crysis_vrmod/9406773fa89a3027d285adb236084bd5a7a98b45/Code/Rapid.cpp -------------------------------------------------------------------------------- /Code/Rapid.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fholger/crysis_vrmod/9406773fa89a3027d285adb236084bd5a7a98b45/Code/Rapid.h -------------------------------------------------------------------------------- /Code/ReferenceWeapon.cpp: -------------------------------------------------------------------------------- 1 | // ------------------------------------------------------------------------- 2 | // Crytek Source File. 3 | // Copyright (C) Crytek GmbH, 2001-2008. 4 | // ------------------------------------------------------------------------- 5 | // Reference weapon for lighting tests 6 | // John Newfield 7 | 8 | #include "StdAfx.h" 9 | #include "ICryAnimation.h" 10 | #include "ReferenceWeapon.h" 11 | 12 | CReferenceWeapon::CReferenceWeapon(void) 13 | { 14 | } 15 | 16 | CReferenceWeapon::~CReferenceWeapon(void) 17 | { 18 | } 19 | 20 | void CReferenceWeapon::OnAction(EntityId actorId, const ActionId& actionId, int activationMode, float value) 21 | { 22 | if (actionId == "attack1") 23 | { 24 | if (activationMode == eAAM_OnPress) 25 | { 26 | PlayAction(g_pItemStrings->fire, 0, true); 27 | } 28 | else if(activationMode == eAAM_OnRelease) 29 | { 30 | GetEntity()->GetCharacter(eIGS_FirstPerson)->GetISkeletonAnim()->StopAnimationInLayer(0,0.0f); 31 | PlayAction(g_pItemStrings->idle, 0, true); 32 | } 33 | } 34 | else if (actionId == "zoom") 35 | { 36 | // 37 | } 38 | else 39 | CWeapon::OnAction(actorId, actionId, activationMode, value); 40 | } 41 | -------------------------------------------------------------------------------- /Code/ReferenceWeapon.h: -------------------------------------------------------------------------------- 1 | // ------------------------------------------------------------------------- 2 | // Crytek Source File. 3 | // Copyright (C) Crytek GmbH, 2001-2008. 4 | // ------------------------------------------------------------------------- 5 | // Reference weapon for lighting tests 6 | // John Newfield 7 | 8 | #include "Weapon.h" 9 | #pragma once 10 | 11 | class CReferenceWeapon : 12 | public CWeapon 13 | { 14 | public: 15 | CReferenceWeapon(void); 16 | ~CReferenceWeapon(void); 17 | virtual void OnAction(EntityId actorId, const ActionId& actionId, int activationMode, float value); 18 | virtual void GetMemoryStatistics(ICrySizer * s) { s->Add(*this); CWeapon::GetMemoryStatistics(s); } 19 | }; 20 | -------------------------------------------------------------------------------- /Code/Rock.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fholger/crysis_vrmod/9406773fa89a3027d285adb236084bd5a7a98b45/Code/Rock.cpp -------------------------------------------------------------------------------- /Code/Rock.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fholger/crysis_vrmod/9406773fa89a3027d285adb236084bd5a7a98b45/Code/Rock.h -------------------------------------------------------------------------------- /Code/Rocket.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fholger/crysis_vrmod/9406773fa89a3027d285adb236084bd5a7a98b45/Code/Rocket.cpp -------------------------------------------------------------------------------- /Code/Rocket.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fholger/crysis_vrmod/9406773fa89a3027d285adb236084bd5a7a98b45/Code/Rocket.h -------------------------------------------------------------------------------- /Code/SPAnalyst.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fholger/crysis_vrmod/9406773fa89a3027d285adb236084bd5a7a98b45/Code/SPAnalyst.cpp -------------------------------------------------------------------------------- /Code/SPAnalyst.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fholger/crysis_vrmod/9406773fa89a3027d285adb236084bd5a7a98b45/Code/SPAnalyst.h -------------------------------------------------------------------------------- /Code/Scan.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fholger/crysis_vrmod/9406773fa89a3027d285adb236084bd5a7a98b45/Code/Scan.cpp -------------------------------------------------------------------------------- /Code/Scan.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fholger/crysis_vrmod/9406773fa89a3027d285adb236084bd5a7a98b45/Code/Scan.h -------------------------------------------------------------------------------- /Code/Scope.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fholger/crysis_vrmod/9406773fa89a3027d285adb236084bd5a7a98b45/Code/Scope.cpp -------------------------------------------------------------------------------- /Code/Scope.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fholger/crysis_vrmod/9406773fa89a3027d285adb236084bd5a7a98b45/Code/Scope.h -------------------------------------------------------------------------------- /Code/ScriptBind_Actor.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fholger/crysis_vrmod/9406773fa89a3027d285adb236084bd5a7a98b45/Code/ScriptBind_Actor.h -------------------------------------------------------------------------------- /Code/ScriptBind_Game.h: -------------------------------------------------------------------------------- 1 | /************************************************************************* 2 | Crytek Source File. 3 | Copyright (C), Crytek Studios, 2001-2006. 4 | ------------------------------------------------------------------------- 5 | $Id$ 6 | $DateTime$ 7 | Description: Script Binding for Game 8 | 9 | ------------------------------------------------------------------------- 10 | History: 11 | - 14:08:2006 11:30 : Created by AlexL 12 | *************************************************************************/ 13 | #ifndef __SCRIPTBIND_GAME_H__ 14 | #define __SCRIPTBIND_GAME_H__ 15 | 16 | #if _MSC_VER > 1000 17 | # pragma once 18 | #endif 19 | 20 | #include 21 | #include 22 | 23 | struct IGameFramework; 24 | struct ISystem; 25 | 26 | class CScriptBind_Game : 27 | public CScriptableBase 28 | { 29 | public: 30 | CScriptBind_Game(ISystem *pSystem, IGameFramework *pGameFramework); 31 | virtual ~CScriptBind_Game(); 32 | 33 | protected: 34 | int ShowMainMenu(IFunctionHandler *pH); 35 | int ShowInGameMenu(IFunctionHandler *pH); 36 | int PauseGame(IFunctionHandler *pH, bool pause); 37 | int PlayFlashAnim(IFunctionHandler *pH); 38 | int PlayVideo(IFunctionHandler *pH); 39 | //! Queries battle status, range from 0 (quiet) to 1 (full combat) 40 | int QueryBattleStatus(IFunctionHandler *pH); 41 | int GetNumLightsActivated(IFunctionHandler *pH); 42 | 43 | private: 44 | void RegisterGlobals(); 45 | void RegisterMethods(); 46 | 47 | ISystem *m_pSystem; 48 | IScriptSystem *m_pSS; 49 | IGameFramework *m_pGameFW; 50 | }; 51 | 52 | #endif //__SCRIPTBIND_GAME_H__ -------------------------------------------------------------------------------- /Code/ScriptBind_GameRules.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fholger/crysis_vrmod/9406773fa89a3027d285adb236084bd5a7a98b45/Code/ScriptBind_GameRules.cpp -------------------------------------------------------------------------------- /Code/ScriptBind_GameRules.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fholger/crysis_vrmod/9406773fa89a3027d285adb236084bd5a7a98b45/Code/ScriptBind_GameRules.h -------------------------------------------------------------------------------- /Code/ScriptBind_Item.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fholger/crysis_vrmod/9406773fa89a3027d285adb236084bd5a7a98b45/Code/ScriptBind_Item.cpp -------------------------------------------------------------------------------- /Code/ScriptBind_Item.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fholger/crysis_vrmod/9406773fa89a3027d285adb236084bd5a7a98b45/Code/ScriptBind_Item.h -------------------------------------------------------------------------------- /Code/ScriptBind_Weapon.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fholger/crysis_vrmod/9406773fa89a3027d285adb236084bd5a7a98b45/Code/ScriptBind_Weapon.cpp -------------------------------------------------------------------------------- /Code/ScriptBind_Weapon.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fholger/crysis_vrmod/9406773fa89a3027d285adb236084bd5a7a98b45/Code/ScriptBind_Weapon.h -------------------------------------------------------------------------------- /Code/ScriptControlledPhysics.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fholger/crysis_vrmod/9406773fa89a3027d285adb236084bd5a7a98b45/Code/ScriptControlledPhysics.cpp -------------------------------------------------------------------------------- /Code/ScriptControlledPhysics.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fholger/crysis_vrmod/9406773fa89a3027d285adb236084bd5a7a98b45/Code/ScriptControlledPhysics.h -------------------------------------------------------------------------------- /Code/ServerSynchedStorage.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fholger/crysis_vrmod/9406773fa89a3027d285adb236084bd5a7a98b45/Code/ServerSynchedStorage.cpp -------------------------------------------------------------------------------- /Code/ServerSynchedStorage.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fholger/crysis_vrmod/9406773fa89a3027d285adb236084bd5a7a98b45/Code/ServerSynchedStorage.h -------------------------------------------------------------------------------- /Code/Shaders/DrawTexture.ps.hlsl: -------------------------------------------------------------------------------- 1 | Texture2D srcTex; 2 | SamplerState srcSampler; 3 | 4 | float4 main(in float4 position : SV_POSITION, in float2 texcoord : TEXCOORD0) : SV_TARGET { 5 | return srcTex.Sample(srcSampler, texcoord); 6 | } 7 | -------------------------------------------------------------------------------- /Code/Shaders/FullScreenTri.vs.hlsl: -------------------------------------------------------------------------------- 1 | //By CeeJay.dk 2 | //License : CC0 - http://creativecommons.org/publicdomain/zero/1.0/ 3 | 4 | //Basic Buffer/Layout-less fullscreen triangle vertex shader 5 | void main(in uint id : SV_VertexID, out float4 position : SV_Position, out float2 texcoord : TEXCOORD0) 6 | { 7 | /* 8 | //See: https://web.archive.org/web/20140719063725/http://www.altdev.co/2011/08/08/interesting-vertex-shader-trick/ 9 | 10 | 1 11 | ( 0, 2) 12 | [-1, 3] [ 3, 3] 13 | . 14 | |`. 15 | | `. 16 | | `. 17 | '------` 18 | 0 2 19 | ( 0, 0) ( 2, 0) 20 | [-1,-1] [ 3,-1] 21 | 22 | ID=0 -> Pos=[-1,-1], Tex=(0,0) 23 | ID=1 -> Pos=[-1, 3], Tex=(0,2) 24 | ID=2 -> Pos=[ 3,-1], Tex=(2,0) 25 | */ 26 | 27 | texcoord.x = (id == 2) ? 2.0 : 0.0; 28 | texcoord.y = (id == 1) ? 2.0 : 0.0; 29 | 30 | position = float4(texcoord * float2(2.0, -2.0) + float2(-1.0, 1.0), 1.0, 1.0); 31 | } 32 | -------------------------------------------------------------------------------- /Code/SharkMovementController.h: -------------------------------------------------------------------------------- 1 | // ------------------------------------------------------------------------- 2 | // Crytek Source File. 3 | // Copyright (C) Crytek GmbH, 2001-2008. 4 | // ------------------------------------------------------------------------- 5 | #ifndef __SHARKMOVEMENTCONTROLLER_H__ 6 | #define __SHARKMOVEMENTCONTROLLER_H__ 7 | 8 | #pragma once 9 | 10 | #include "IMovementController.h" 11 | #include "Actor.h" 12 | 13 | class CShark; 14 | 15 | class CSharkMovementController : public IActorMovementController 16 | { 17 | public: 18 | CSharkMovementController( CShark * pShark ); 19 | 20 | virtual void Reset(); 21 | virtual bool Update( float frameTime, SActorFrameMovementParams& params ); 22 | virtual void PostUpdate( float frameTime ){} 23 | virtual void Release(); 24 | 25 | virtual bool RequestMovement( CMovementRequest& request ); 26 | ILINE virtual void GetMovementState( SMovementState& state ) 27 | { 28 | state = m_currentMovementState; 29 | }; 30 | 31 | virtual bool GetStanceState( EStance stance, float lean, bool defaultPose, SStanceState& state ); 32 | 33 | virtual bool GetStats(SStats& stats) 34 | { 35 | return false; 36 | } 37 | 38 | virtual void Serialize(TSerialize &ser) {} 39 | 40 | private: 41 | 42 | void UpdateCurMovementState(const SActorFrameMovementParams& params); 43 | 44 | CShark * m_pShark; 45 | bool m_atTarget; 46 | bool m_exact; 47 | 48 | CMovementRequest m_currentMovementRequest; 49 | SMovementState m_currentMovementState; 50 | }; 51 | 52 | #endif 53 | -------------------------------------------------------------------------------- /Code/ShotValidator.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fholger/crysis_vrmod/9406773fa89a3027d285adb236084bd5a7a98b45/Code/ShotValidator.cpp -------------------------------------------------------------------------------- /Code/ShotValidator.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fholger/crysis_vrmod/9406773fa89a3027d285adb236084bd5a7a98b45/Code/ShotValidator.h -------------------------------------------------------------------------------- /Code/Single.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fholger/crysis_vrmod/9406773fa89a3027d285adb236084bd5a7a98b45/Code/Single.h -------------------------------------------------------------------------------- /Code/SingleTG.h: -------------------------------------------------------------------------------- 1 | /************************************************************************* 2 | Crytek Source File. 3 | Copyright (C), Crytek Studios, 2001-2004. 4 | ------------------------------------------------------------------------- 5 | $Id$ 6 | $DateTime$ 7 | Description: Some special stuff for the TACGun in fleet 8 | 9 | ------------------------------------------------------------------------- 10 | History: 11 | - 18:07:2007 12:15 : Created by Benito Gangoso Rodriguez 12 | 13 | *************************************************************************/ 14 | #ifndef __SINGLETG_H__ 15 | #define __SINGLETG_H__ 16 | 17 | #if _MSC_VER > 1000 18 | # pragma once 19 | #endif 20 | 21 | 22 | #include "Single.h" 23 | 24 | #define SINGLETG_MAX_TARGETS 4 25 | 26 | class CSingleTG : public CSingle 27 | { 28 | public: 29 | CSingleTG(); 30 | virtual ~CSingleTG(); 31 | 32 | // CSingle 33 | virtual void GetMemoryStatistics(ICrySizer * s) { s->Add(*this); CSingle::GetMemoryStatistics(s); } 34 | 35 | virtual bool CanFire(bool considerAmmo /* = true */) const; 36 | virtual void UpdateFPView(float frameTime); 37 | 38 | virtual void StartFire(); 39 | 40 | virtual void UpdateAutoAim(float frameTime); 41 | virtual bool IsValidAutoAimTarget(IEntity* pEntity, int partId = 0); 42 | 43 | virtual void StartLocking(EntityId targetId, int partId = 0); 44 | virtual void Lock(EntityId targetId, int partId = 0); 45 | virtual void Unlock(); 46 | 47 | virtual void Serialize(TSerialize ser); 48 | // ~CSingle 49 | 50 | private: 51 | void UpdateTargets(); 52 | 53 | EntityId m_targetIds[SINGLETG_MAX_TARGETS]; 54 | EntityId m_idSerializeTarget; 55 | float m_fSerializeProgress; 56 | int m_iSerializeIgnoreUpdate; 57 | }; 58 | 59 | 60 | #endif -------------------------------------------------------------------------------- /Code/StdAfx.cpp: -------------------------------------------------------------------------------- 1 | /************************************************************************* 2 | CryGame Source File. 3 | Copyright (C), Crytek Studios, 2001-2004. 4 | ------------------------------------------------------------------------- 5 | $Id$ 6 | $DateTime$ 7 | 8 | ------------------------------------------------------------------------- 9 | History: 10 | - 20:7:2004 11:07 : Created by Marco Koegler 11 | 12 | *************************************************************************/ 13 | #include "StdAfx.h" 14 | 15 | // TODO: reference any additional headers you need in StdAfx.H 16 | // and not in this file 17 | -------------------------------------------------------------------------------- /Code/StdAfx.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fholger/crysis_vrmod/9406773fa89a3027d285adb236084bd5a7a98b45/Code/StdAfx.h -------------------------------------------------------------------------------- /Code/SynchedStorage.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fholger/crysis_vrmod/9406773fa89a3027d285adb236084bd5a7a98b45/Code/SynchedStorage.cpp -------------------------------------------------------------------------------- /Code/SynchedStorage.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fholger/crysis_vrmod/9406773fa89a3027d285adb236084bd5a7a98b45/Code/SynchedStorage.h -------------------------------------------------------------------------------- /Code/TacBullet.h: -------------------------------------------------------------------------------- 1 | // ------------------------------------------------------------------------- 2 | // Crytek Source File. 3 | // Copyright (C) Crytek GmbH, 2001-2008. 4 | // ------------------------------------------------------------------------- 5 | #pragma once 6 | #include "Projectile.h" 7 | 8 | 9 | class CTacBullet : 10 | public CProjectile 11 | { 12 | public: 13 | CTacBullet(void); 14 | ~CTacBullet(void); 15 | virtual void HandleEvent(const SGameObjectEvent &); 16 | 17 | private: 18 | 19 | void SleepTargetInVehicle(EntityId shooterId, CActor* pActor); 20 | }; 21 | -------------------------------------------------------------------------------- /Code/TagBullet.cpp: -------------------------------------------------------------------------------- 1 | // ------------------------------------------------------------------------- 2 | // Crytek Source File. 3 | // Copyright (C) Crytek GmbH, 2001-2008. 4 | // ------------------------------------------------------------------------- 5 | #include "StdAfx.h" 6 | #include "TagBullet.h" 7 | #include "Game.h" 8 | #include "GameRules.h" 9 | #include "HUD/HUD.h" 10 | #include 11 | 12 | CTagBullet::CTagBullet(void) 13 | { 14 | } 15 | 16 | CTagBullet::~CTagBullet(void) 17 | { 18 | } 19 | 20 | void CTagBullet::HandleEvent(const SGameObjectEvent &event) 21 | { 22 | if (m_destroying) 23 | return; 24 | 25 | CProjectile::HandleEvent(event); 26 | 27 | if (event.event == eGFE_OnCollision) 28 | { 29 | EventPhysCollision *pCollision = reinterpret_cast(event.ptr); 30 | if (!pCollision) 31 | return; 32 | 33 | IEntity *pTarget = pCollision->iForeignData[1]==PHYS_FOREIGN_ID_ENTITY ? (IEntity*)pCollision->pForeignData[1]:0; 34 | if (pTarget) 35 | { 36 | EntityId targetId = pTarget->GetId(); 37 | 38 | SimpleHitInfo info(m_ownerId, targetId, m_weaponId, 0); // 0=tag,1=tac 39 | info.remote=IsRemote(); 40 | 41 | g_pGame->GetGameRules()->ClientSimpleHit(info); 42 | } 43 | 44 | Destroy(); 45 | } 46 | } 47 | -------------------------------------------------------------------------------- /Code/TagBullet.h: -------------------------------------------------------------------------------- 1 | // ------------------------------------------------------------------------- 2 | // Crytek Source File. 3 | // Copyright (C) Crytek GmbH, 2001-2008. 4 | // ------------------------------------------------------------------------- 5 | #include "Projectile.h" 6 | #pragma once 7 | 8 | class CTagBullet : 9 | public CProjectile 10 | { 11 | public: 12 | CTagBullet(void); 13 | ~CTagBullet(void); 14 | virtual void HandleEvent(const SGameObjectEvent &); 15 | }; 16 | -------------------------------------------------------------------------------- /Code/ThirdParty/ForceTubeVR/bin/ForceTubeVR_API_x32.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fholger/crysis_vrmod/9406773fa89a3027d285adb236084bd5a7a98b45/Code/ThirdParty/ForceTubeVR/bin/ForceTubeVR_API_x32.dll -------------------------------------------------------------------------------- /Code/ThirdParty/ForceTubeVR/bin/ForceTubeVR_API_x32.lib: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fholger/crysis_vrmod/9406773fa89a3027d285adb236084bd5a7a98b45/Code/ThirdParty/ForceTubeVR/bin/ForceTubeVR_API_x32.lib -------------------------------------------------------------------------------- /Code/ThirdParty/ForceTubeVR/bin/ForceTubeVR_API_x64.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fholger/crysis_vrmod/9406773fa89a3027d285adb236084bd5a7a98b45/Code/ThirdParty/ForceTubeVR/bin/ForceTubeVR_API_x64.dll -------------------------------------------------------------------------------- /Code/ThirdParty/ForceTubeVR/bin/ForceTubeVR_API_x64.lib: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fholger/crysis_vrmod/9406773fa89a3027d285adb236084bd5a7a98b45/Code/ThirdParty/ForceTubeVR/bin/ForceTubeVR_API_x64.lib -------------------------------------------------------------------------------- /Code/ThirdParty/ForceTubeVR/include/protubevr.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | enum ForceTubeVRChannel { all, rifle, rifleButt, rifleBolt, pistol1, pistol2, other, vest }; 4 | 5 | extern "C" 6 | { 7 | __declspec(dllimport) void InitRifle(); 8 | __declspec(dllimport) void InitPistol(); 9 | __declspec(dllimport) void KickChannel(uint8 power, ForceTubeVRChannel channel); 10 | __declspec(dllimport) void RumbleChannel(uint8 power, float rumbleDuration, ForceTubeVRChannel channel); 11 | __declspec(dllimport) void ShotChannel(uint8 kickPower, uint8 rumblePower, uint8 rumbleDuration, ForceTubeVRChannel channel); 12 | __declspec(dllimport) uint8 TempoToKickPower(float tempo); 13 | __declspec(dllimport) uint8 GetBatteryLevel(); 14 | __declspec(dllimport) void SetActive(bool nActive); 15 | } 16 | -------------------------------------------------------------------------------- /Code/ThirdParty/bhaptics/CHANGELOG.md: -------------------------------------------------------------------------------- 1 | ## Unity plugin 1.4.8(Nov 1st, 2019.) 2 | * Update: Add app name to the plugin. 3 | -------------------------------------------------------------------------------- /Code/ThirdParty/bhaptics/LICENSE: -------------------------------------------------------------------------------- 1 | License 2 | 3 | Use of bHaptics SDK is subject to the bHaptics SDK agreement (https://bhaptics.gitbook.io/license-sdk/). 4 | -------------------------------------------------------------------------------- /Code/ThirdParty/bhaptics/README.md: -------------------------------------------------------------------------------- 1 | ## bHaptics Haptic Library 2 | * Written in C++ 11 3 | * Tested in windows 4 | * Current version is 1.4.14 5 | 6 | ## Prerequisite 7 | * bHaptics Player has to be installed (Windows) 8 | * The app can be found in 9 | bHaptics webpage: [http://www.bhaptics.com](http://bhaptics.com/) 10 | 11 | ## Latest library files 12 | * https://github.com/bhaptics/haptic-library/tree/master/bin 13 | 14 | 15 | ## Documentation 16 | * https://github.com/bhaptics/haptic-library/wiki/Documentation 17 | 18 | 19 | ## 3rd party dependencies 20 | * nlohmann/json : https://github.com/nlohmann/json 21 | * easywsclient : https://github.com/dhbaird/easywsclient 22 | 23 | 24 | ## Samples 25 | * [unity-plugin github](https://github.com/bhaptics/tactosy-sharp/tree/master/samples/unity-plugin), [Unity asset store](https://assetstore.unity.com/packages/tools/integration/bhaptics-haptic-plugin-76647) 26 | * [unreal-plugin github](https://github.com/bhaptics/TactUnrealEngine4), [Unreal market place](https://www.unrealengine.com/marketplace/en-US/slug/bhaptics-haptic-manager) 27 | 28 | 29 | ## Contact 30 | * Official Website: http://www.bhaptics.com/ 31 | * E-mail: developer@bhaptics.com 32 | * Issues : https://github.com/bhaptics/tac-sharp/issues/new 33 | 34 | Last update of README.md: Nov 1st, 2019. 35 | 36 | #### Copyright (c) 2016-2019 bHaptics Inc. All rights reserved. 37 | -------------------------------------------------------------------------------- /Code/ThirdParty/bhaptics/bin/win32/haptic_library.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fholger/crysis_vrmod/9406773fa89a3027d285adb236084bd5a7a98b45/Code/ThirdParty/bhaptics/bin/win32/haptic_library.dll -------------------------------------------------------------------------------- /Code/ThirdParty/bhaptics/bin/win32/haptic_library.lib: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fholger/crysis_vrmod/9406773fa89a3027d285adb236084bd5a7a98b45/Code/ThirdParty/bhaptics/bin/win32/haptic_library.lib -------------------------------------------------------------------------------- /Code/ThirdParty/bhaptics/bin/win64/haptic_library.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fholger/crysis_vrmod/9406773fa89a3027d285adb236084bd5a7a98b45/Code/ThirdParty/bhaptics/bin/win64/haptic_library.dll -------------------------------------------------------------------------------- /Code/ThirdParty/bhaptics/bin/win64/haptic_library.lib: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fholger/crysis_vrmod/9406773fa89a3027d285adb236084bd5a7a98b45/Code/ThirdParty/bhaptics/bin/win64/haptic_library.lib -------------------------------------------------------------------------------- /Code/ThirdParty/c1-launcher/.gitattributes: -------------------------------------------------------------------------------- 1 | * text=auto 2 | 3 | *.h linguist-language=C++ 4 | *.h.in linguist-language=C++ 5 | -------------------------------------------------------------------------------- /Code/ThirdParty/c1-launcher/.gitignore: -------------------------------------------------------------------------------- 1 | .vs/ 2 | out/ 3 | [Bb]uild*/ 4 | 5 | build.sh 6 | build.bat 7 | 8 | CMakeSettings.json 9 | -------------------------------------------------------------------------------- /Code/ThirdParty/c1-launcher/Code/CryCommon/CryGame/IGameRef.h: -------------------------------------------------------------------------------- 1 | // Copyright (C) 2001-2004 Crytek GmbH 2 | 3 | #pragma once 4 | 5 | #include 6 | 7 | struct IGame; 8 | 9 | class IGameRef 10 | { 11 | IGame** m_ptr; 12 | 13 | public: 14 | IGameRef() : m_ptr(NULL) 15 | { 16 | } 17 | 18 | IGameRef(IGame** ptr) : m_ptr(ptr) 19 | { 20 | } 21 | 22 | IGameRef& operator=(IGame** ptr) 23 | { 24 | m_ptr = ptr; 25 | 26 | return *this; 27 | } 28 | 29 | IGame* operator->() const 30 | { 31 | return (m_ptr) ? *m_ptr : NULL; 32 | } 33 | 34 | operator IGame*() const 35 | { 36 | return (m_ptr) ? *m_ptr : NULL; 37 | } 38 | }; 39 | -------------------------------------------------------------------------------- /Code/ThirdParty/c1-launcher/Code/CryCommon/CrySystem/CryColorCode.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | #define CRY_COLOR_CODE_BLACK 0 4 | #define CRY_COLOR_CODE_WHITE 1 5 | #define CRY_COLOR_CODE_BLUE 2 6 | #define CRY_COLOR_CODE_GREEN 3 7 | #define CRY_COLOR_CODE_RED 4 8 | #define CRY_COLOR_CODE_CYAN 5 9 | #define CRY_COLOR_CODE_YELLOW 6 10 | #define CRY_COLOR_CODE_MAGENTA 7 11 | #define CRY_COLOR_CODE_ORANGE 8 12 | #define CRY_COLOR_CODE_GRAY 9 13 | 14 | #define CRY_COLOR_CODE_BLACK_STRING "$0" 15 | #define CRY_COLOR_CODE_WHITE_STRING "$1" 16 | #define CRY_COLOR_CODE_BLUE_STRING "$2" 17 | #define CRY_COLOR_CODE_GREEN_STRING "$3" 18 | #define CRY_COLOR_CODE_RED_STRING "$4" 19 | #define CRY_COLOR_CODE_CYAN_STRING "$5" 20 | #define CRY_COLOR_CODE_YELLOW_STRING "$6" 21 | #define CRY_COLOR_CODE_MAGENTA_STRING "$7" 22 | #define CRY_COLOR_CODE_ORANGE_STRING "$8" 23 | #define CRY_COLOR_CODE_GRAY_STRING "$9" 24 | -------------------------------------------------------------------------------- /Code/ThirdParty/c1-launcher/Code/CryCommon/CrySystem/ILog.h: -------------------------------------------------------------------------------- 1 | // Copyright (C) 2001-2008 Crytek GmbH 2 | 3 | #pragma once 4 | 5 | #include 6 | 7 | struct ILogCallback 8 | { 9 | virtual void OnWriteToConsole(const char* text, bool newLine) = 0; 10 | virtual void OnWriteToFile(const char* text, bool newLine) = 0; 11 | }; 12 | 13 | struct ILog 14 | { 15 | enum ELogType 16 | { 17 | eMessage, 18 | eWarning, 19 | eError, 20 | eAlways, 21 | eWarningAlways, 22 | eErrorAlways, 23 | eInput, 24 | eInputResponse, 25 | eComment 26 | }; 27 | 28 | virtual void LogV(ELogType type, const char* format, va_list args) = 0; 29 | 30 | virtual ~ILog() 31 | { 32 | } 33 | 34 | virtual void Log(const char* format, ...) = 0; 35 | virtual void LogWarning(const char* format, ...) = 0; 36 | virtual void LogError(const char* format, ...) = 0; 37 | 38 | virtual void Release() = 0; 39 | 40 | virtual bool SetFileName(const char* filename) = 0; 41 | virtual const char* GetFileName() = 0; 42 | 43 | virtual void LogPlus(const char* format, ...) = 0; 44 | virtual void LogToFile(const char* format, ...) = 0; 45 | virtual void LogToFilePlus(const char* format, ...) = 0; 46 | virtual void LogToConsole(const char* format, ...) = 0; 47 | virtual void LogToConsolePlus(const char* format, ...) = 0; 48 | 49 | virtual void UpdateLoadingScreen(const char* format, ...) = 0; 50 | 51 | virtual void RegisterConsoleVariables() = 0; 52 | virtual void UnregisterConsoleVariables() = 0; 53 | 54 | virtual void SetVerbosity(int verbosity) = 0; 55 | virtual int GetVerbosityLevel() = 0; 56 | 57 | virtual void AddCallback(ILogCallback* pCallback) = 0; 58 | virtual void RemoveCallback(ILogCallback* pCallback) = 0; 59 | }; 60 | -------------------------------------------------------------------------------- /Code/ThirdParty/c1-launcher/Code/CryCommon/CrySystem/ISystem.cpp: -------------------------------------------------------------------------------- 1 | #include "ILog.h" 2 | #include "ISystem.h" 3 | 4 | SSystemGlobalEnvironment* gEnv; 5 | 6 | void CryLog(const char* format, ...) 7 | { 8 | va_list args; 9 | va_start(args, format); 10 | gEnv->pLog->LogV(ILog::eMessage, format, args); 11 | va_end(args); 12 | } 13 | 14 | void CryLogWarning(const char* format, ...) 15 | { 16 | va_list args; 17 | va_start(args, format); 18 | gEnv->pLog->LogV(ILog::eWarning, format, args); 19 | va_end(args); 20 | } 21 | 22 | void CryLogError(const char* format, ...) 23 | { 24 | va_list args; 25 | va_start(args, format); 26 | gEnv->pLog->LogV(ILog::eError, format, args); 27 | va_end(args); 28 | } 29 | 30 | void CryLogAlways(const char* format, ...) 31 | { 32 | va_list args; 33 | va_start(args, format); 34 | gEnv->pLog->LogV(ILog::eAlways, format, args); 35 | va_end(args); 36 | } 37 | 38 | void CryLogWarningAlways(const char* format, ...) 39 | { 40 | va_list args; 41 | va_start(args, format); 42 | gEnv->pLog->LogV(ILog::eWarningAlways, format, args); 43 | va_end(args); 44 | } 45 | 46 | void CryLogErrorAlways(const char* format, ...) 47 | { 48 | va_list args; 49 | va_start(args, format); 50 | gEnv->pLog->LogV(ILog::eErrorAlways, format, args); 51 | va_end(args); 52 | } 53 | 54 | void CryLogComment(const char* format, ...) 55 | { 56 | va_list args; 57 | va_start(args, format); 58 | gEnv->pLog->LogV(ILog::eComment, format, args); 59 | va_end(args); 60 | } 61 | -------------------------------------------------------------------------------- /Code/ThirdParty/c1-launcher/Code/CryCommon/CrySystem/IValidator.h: -------------------------------------------------------------------------------- 1 | // Copyright (C) 2002 Crytek GmbH 2 | 3 | #pragma once 4 | 5 | struct SValidatorRecord; 6 | 7 | /** 8 | * This interface will be given to Validate methods of the engine for resource and object validation. 9 | */ 10 | struct IValidator 11 | { 12 | virtual void Report(SValidatorRecord& record) = 0; 13 | }; 14 | -------------------------------------------------------------------------------- /Code/ThirdParty/c1-launcher/Code/Launcher/CPUInfo.cpp: -------------------------------------------------------------------------------- 1 | #include 2 | 3 | #include "CryCommon/CrySystem/ISystem.h" 4 | #include "Library/CPUID.h" 5 | #include "Library/OS.h" 6 | 7 | #include "CPUInfo.h" 8 | #include "LauncherCommon.h" 9 | 10 | static unsigned int GetCoreCount() 11 | { 12 | unsigned int coreCount = OS::GetLogicalProcessorCount(); 13 | 14 | // fix crash on systems with more than 32 logical processors 15 | if (coreCount > CPUInfo::MAX_CORE_COUNT) 16 | { 17 | coreCount = CPUInfo::MAX_CORE_COUNT; 18 | } 19 | 20 | return coreCount; 21 | } 22 | 23 | static unsigned int GetFeatures() 24 | { 25 | unsigned int features = 0; 26 | 27 | if (g_cpuid.HasMMX()) 28 | { 29 | features |= CPUInfo::FLAG_MMX; 30 | } 31 | 32 | if (g_cpuid.Has3DNow()) 33 | { 34 | features |= CPUInfo::FLAG_3DNOW; 35 | } 36 | 37 | if (g_cpuid.HasSSE()) 38 | { 39 | features |= CPUInfo::FLAG_SSE; 40 | } 41 | 42 | if (g_cpuid.HasSSE2()) 43 | { 44 | features |= CPUInfo::FLAG_SSE2; 45 | } 46 | 47 | return features; 48 | } 49 | 50 | void CPUInfo::Detect(CPUInfo* self, ISystem* pSystem) 51 | { 52 | LauncherCommon::OnEarlyEngineInit(pSystem); 53 | 54 | const unsigned int coreCount = GetCoreCount(); 55 | const unsigned int features = GetFeatures(); 56 | 57 | std::memset(self, 0, sizeof(CPUInfo)); 58 | 59 | // only the following is needed 60 | self->coreCountTotal = coreCount; 61 | self->coreCountAvailable = coreCount; 62 | self->coreCountPhysical = coreCount; 63 | self->cores[0].flags = features; 64 | 65 | CryLogAlways("%s [Count: %u] [Features:%s%s%s%s]", 66 | g_cpuid.brand_string, 67 | coreCount, 68 | (features & FLAG_MMX) ? " MMX" : "", 69 | (features & FLAG_3DNOW) ? " 3DNow!" : "", 70 | (features & FLAG_SSE) ? " SSE" : "", 71 | (features & FLAG_SSE2) ? " SSE2" : "" 72 | ); 73 | } 74 | -------------------------------------------------------------------------------- /Code/ThirdParty/c1-launcher/Code/Launcher/CPUInfo.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | struct ISystem; 4 | 5 | /** 6 | * Reverse engineered CryEngine 2 structure with CPU information. 7 | * 8 | * Do not change the content. 9 | * Total size is 8720 bytes in both 32-bit and 64-bit code. 10 | * 11 | * The purpose of this is to replace the problematic CPU detection mechanism in CrySystem. 12 | */ 13 | struct CPUInfo 14 | { 15 | enum 16 | { 17 | FLAG_MMX = (1 << 1), 18 | FLAG_3DNOW = (1 << 2), 19 | FLAG_SSE = (1 << 3), 20 | FLAG_SSE2 = (1 << 4), 21 | }; 22 | 23 | enum 24 | { 25 | MAX_CORE_COUNT = 32, 26 | }; 27 | 28 | unsigned int coreCountTotal; 29 | unsigned int coreCountAvailable; 30 | unsigned int coreCountPhysical; 31 | unsigned int reserved; 32 | 33 | struct Core 34 | { 35 | unsigned int reserved1[2]; 36 | unsigned int flags; 37 | unsigned int reserved2[65]; 38 | }; 39 | 40 | Core cores[MAX_CORE_COUNT]; 41 | 42 | static void Detect(CPUInfo* self, ISystem* pSystem); 43 | }; 44 | -------------------------------------------------------------------------------- /Code/ThirdParty/c1-launcher/Code/Launcher/CryRender.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | #include 4 | 5 | struct CryRender_D3D9_AdapterInfo 6 | { 7 | // D3DADAPTER_IDENTIFIER9 8 | char driver[512]; 9 | char description[512]; 10 | char device_name[32]; 11 | unsigned long driver_version_lo; 12 | unsigned long driver_version_hi; 13 | unsigned long vendor_id; 14 | unsigned long device_id; 15 | unsigned long sub_sys_id; 16 | unsigned long revision; 17 | // ... 18 | }; 19 | 20 | struct CryRender_D3D10_AdapterInfo 21 | { 22 | void* reserved; 23 | // DXGI_ADAPTER_DESC 24 | wchar_t description[128]; 25 | unsigned int vendor_id; 26 | unsigned int device_id; 27 | unsigned int sub_sys_id; 28 | unsigned int revision; 29 | std::size_t dedicated_video_memory; 30 | std::size_t dedicated_system_memory; 31 | std::size_t shared_system_memory; 32 | // ... 33 | }; 34 | 35 | struct CryRender_D3D10_SystemAPI 36 | { 37 | void* pDXGI; 38 | void* pCreateDXGIFactory; 39 | void* pD3D10; 40 | void* pD3D10CreateStateBlock; // unused 41 | void* pD3D10CreateDevice; 42 | void* pD3D10StateBlockMaskUnion; // unused 43 | void* pD3D10StateBlockMaskIntersect; // unused 44 | void* pD3D10StateBlockMaskDifference; // unused 45 | void* pD3D10StateBlockMaskEnableCapture; // unused 46 | void* pD3D10StateBlockMaskDisableCapture; // unused 47 | void* pD3D10StateBlockMaskEnableAll; // unused 48 | void* pD3D10StateBlockMaskDisableAll; // unused 49 | void* pD3D10StateBlockMaskGetSetting; // unused 50 | }; 51 | -------------------------------------------------------------------------------- /Code/ThirdParty/c1-launcher/Code/Launcher/DedicatedServer/DedicatedServerLauncher.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | #include "CryCommon/CryGame/IGameStartup.h" 4 | #include "CryCommon/CrySystem/ISystem.h" 5 | 6 | class DedicatedServerLauncher 7 | { 8 | IGameStartup* m_pGameStartup; 9 | SSystemInitParams m_params; 10 | 11 | struct DLLs 12 | { 13 | void* pEXE; 14 | void* pCryGame; 15 | void* pCryNetwork; 16 | void* pCrySystem; 17 | 18 | int gameBuild; 19 | bool isWarhead; 20 | }; 21 | 22 | DLLs m_dlls; 23 | 24 | public: 25 | DedicatedServerLauncher(); 26 | ~DedicatedServerLauncher(); 27 | 28 | int Run(); 29 | 30 | private: 31 | void LoadEngine(); 32 | void PatchEngine(); 33 | }; 34 | -------------------------------------------------------------------------------- /Code/ThirdParty/c1-launcher/Code/Launcher/DedicatedServer/Main.cpp: -------------------------------------------------------------------------------- 1 | /** 2 | * @file 3 | * @brief Dedicated server launcher. 4 | */ 5 | 6 | #include 7 | 8 | #include "Library/OS.h" 9 | #include "Project.h" 10 | 11 | #include "DedicatedServerLauncher.h" 12 | 13 | //////////////////////////////////////////////////////////////////////////////// 14 | 15 | const char* const PROJECT_BANNER = "C1-Launcher Dedicated Server " PROJECT_VERSION_STRING; 16 | 17 | //////////////////////////////////////////////////////////////////////////////// 18 | 19 | int __stdcall WinMain(void* instance, void* prevInstance, char* cmdLine, int cmdShow) 20 | { 21 | try 22 | { 23 | return DedicatedServerLauncher().Run(); 24 | } 25 | catch (const std::runtime_error& ex) 26 | { 27 | OS::ErrorBox(ex.what()); 28 | return 1; 29 | } 30 | } 31 | -------------------------------------------------------------------------------- /Code/ThirdParty/c1-launcher/Code/Launcher/DedicatedServer/Resources.h: -------------------------------------------------------------------------------- 1 | /** 2 | * @file 3 | * @brief Dedicated server launcher resources. 4 | */ 5 | 6 | #pragma once 7 | 8 | #define RESOURCE_ICON 101 9 | -------------------------------------------------------------------------------- /Code/ThirdParty/c1-launcher/Code/Launcher/Editor/EditorLauncher.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | class EditorLauncher 4 | { 5 | struct DLLs 6 | { 7 | void* pEditor; 8 | void* pCrySystem; 9 | void* pCryRenderD3D9; 10 | void* pCryRenderD3D10; 11 | 12 | int editorBuild; 13 | int gameBuild; 14 | }; 15 | 16 | DLLs m_dlls; 17 | 18 | public: 19 | EditorLauncher(); 20 | ~EditorLauncher(); 21 | 22 | int Run(char* cmdLine); 23 | 24 | private: 25 | void LoadEngine(); 26 | void PatchEngine(); 27 | }; 28 | -------------------------------------------------------------------------------- /Code/ThirdParty/c1-launcher/Code/Launcher/Editor/Main.cpp: -------------------------------------------------------------------------------- 1 | /** 2 | * @file 3 | * @brief Editor launcher. 4 | */ 5 | 6 | #include 7 | 8 | #include "Library/OS.h" 9 | #include "Project.h" 10 | 11 | #include "EditorLauncher.h" 12 | 13 | //////////////////////////////////////////////////////////////////////////////// 14 | 15 | const char* const PROJECT_BANNER = "C1-Launcher Editor " PROJECT_VERSION_STRING; 16 | 17 | //////////////////////////////////////////////////////////////////////////////// 18 | 19 | extern "C" 20 | { 21 | // request fast graphics card 22 | // nVidia 23 | __declspec(dllexport) unsigned long NvOptimusEnablement = 1; 24 | // AMD 25 | __declspec(dllexport) int AmdPowerXpressRequestHighPerformance = 1; 26 | } 27 | 28 | //////////////////////////////////////////////////////////////////////////////// 29 | 30 | int __stdcall WinMain(void* instance, void* prevInstance, char* cmdLine, int cmdShow) 31 | { 32 | try 33 | { 34 | return EditorLauncher().Run(cmdLine); 35 | } 36 | catch (const std::runtime_error& ex) 37 | { 38 | OS::ErrorBox(ex.what()); 39 | return 1; 40 | } 41 | } 42 | -------------------------------------------------------------------------------- /Code/ThirdParty/c1-launcher/Code/Launcher/Editor/Resources.h: -------------------------------------------------------------------------------- 1 | /** 2 | * @file 3 | * @brief Editor launcher resources. 4 | */ 5 | 6 | #pragma once 7 | 8 | #define RESOURCE_ICON 101 9 | -------------------------------------------------------------------------------- /Code/ThirdParty/c1-launcher/Code/Launcher/Game/GameLauncher.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | #include "CryCommon/CryGame/IGameStartup.h" 4 | #include "CryCommon/CrySystem/ISystem.h" 5 | 6 | class GameLauncher 7 | { 8 | IGameStartup* m_pGameStartup; 9 | SSystemInitParams m_params; 10 | 11 | struct DLLs 12 | { 13 | void* pEXE; 14 | void* pCryGame; 15 | void* pCryAction; 16 | void* pCryNetwork; 17 | void* pCrySystem; 18 | void* pCryRenderD3D9; 19 | void* pCryRenderD3D10; 20 | void* pVRMod; 21 | 22 | int gameBuild; 23 | bool isWarhead; 24 | }; 25 | 26 | DLLs m_dlls; 27 | 28 | public: 29 | GameLauncher(); 30 | ~GameLauncher(); 31 | 32 | int Run(); 33 | 34 | private: 35 | void LoadEngine(); 36 | void PatchEngine(); 37 | void LoadVRMod(); 38 | void InitVRModD3DHooks(); 39 | }; 40 | -------------------------------------------------------------------------------- /Code/ThirdParty/c1-launcher/Code/Launcher/Game/LanguageHook.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | struct ILocalizationManager; 4 | 5 | namespace LanguageHook 6 | { 7 | void OnInit(const char* defaultLanguage, ILocalizationManager* pLocalizationManager); 8 | } 9 | -------------------------------------------------------------------------------- /Code/ThirdParty/c1-launcher/Code/Launcher/Game/Main.cpp: -------------------------------------------------------------------------------- 1 | /** 2 | * @file 3 | * @brief Game launcher. 4 | */ 5 | 6 | #include 7 | 8 | #include "Library/OS.h" 9 | #include "Project.h" 10 | 11 | #include "GameLauncher.h" 12 | 13 | //////////////////////////////////////////////////////////////////////////////// 14 | 15 | const char* const PROJECT_BANNER = "C1-Launcher Game " PROJECT_VERSION_STRING; 16 | 17 | //////////////////////////////////////////////////////////////////////////////// 18 | 19 | extern "C" 20 | { 21 | // request fast graphics card 22 | // nVidia 23 | __declspec(dllexport) unsigned long NvOptimusEnablement = 1; 24 | // AMD 25 | __declspec(dllexport) int AmdPowerXpressRequestHighPerformance = 1; 26 | } 27 | 28 | //////////////////////////////////////////////////////////////////////////////// 29 | 30 | int __stdcall WinMain(void* instance, void* prevInstance, char* cmdLine, int cmdShow) 31 | { 32 | try 33 | { 34 | return GameLauncher().Run(); 35 | } 36 | catch (const std::runtime_error& ex) 37 | { 38 | OS::ErrorBox(ex.what()); 39 | return 1; 40 | } 41 | } 42 | -------------------------------------------------------------------------------- /Code/ThirdParty/c1-launcher/Code/Launcher/Game/Resources.h: -------------------------------------------------------------------------------- 1 | /** 2 | * @file 3 | * @brief Game launcher resources. 4 | */ 5 | 6 | #pragma once 7 | 8 | #define RESOURCE_ICON 101 9 | 10 | #define RESOURCE_CURSOR_AMBER 103 11 | #define RESOURCE_CURSOR_BLUE 104 12 | #define RESOURCE_CURSOR_GREEN 105 13 | #define RESOURCE_CURSOR_RED 106 14 | #define RESOURCE_CURSOR_WHITE 107 15 | -------------------------------------------------------------------------------- /Code/ThirdParty/c1-launcher/Code/Launcher/HeadlessServer/HeadlessServerLauncher.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | #include 4 | 5 | #include "CryCommon/CryGame/IGameStartup.h" 6 | #include "CryCommon/CrySystem/ISystem.h" 7 | 8 | #include "Logger.h" 9 | #include "NullValidator.h" 10 | 11 | class HeadlessServerLauncher : private ISystemUserCallback 12 | { 13 | IGameStartup* m_pGameStartup; 14 | SSystemInitParams m_params; 15 | 16 | struct DLLs 17 | { 18 | void* pEXE; 19 | void* pCryGame; 20 | void* pCryAction; 21 | void* pCryNetwork; 22 | void* pCrySystem; 23 | void* pCryRenderNULL; 24 | 25 | int gameBuild; 26 | bool isWarhead; 27 | }; 28 | 29 | DLLs m_dlls; 30 | 31 | Logger m_logger; 32 | NullValidator m_validator; 33 | 34 | std::string m_rootFolder; 35 | 36 | public: 37 | HeadlessServerLauncher(); 38 | ~HeadlessServerLauncher(); 39 | 40 | int Run(); 41 | 42 | private: 43 | void LoadEngine(); 44 | void PatchEngine(); 45 | 46 | // ISystemUserCallback 47 | bool OnError(const char* error) override; 48 | void OnSaveDocument() override; 49 | void OnProcessSwitch() override; 50 | void OnInitProgress(const char* message) override; 51 | void OnInit(ISystem* pSystem) override; 52 | void OnShutdown() override; 53 | void OnUpdate() override; 54 | void GetMemoryUsage(ICrySizer* pSizer) override; 55 | 56 | static HeadlessServerLauncher* s_self; 57 | static std::FILE* OpenLogFile(); 58 | }; 59 | -------------------------------------------------------------------------------- /Code/ThirdParty/c1-launcher/Code/Launcher/HeadlessServer/Main.cpp: -------------------------------------------------------------------------------- 1 | /** 2 | * @file 3 | * @brief Headless server launcher. 4 | */ 5 | 6 | #include 7 | #include 8 | 9 | #include "Project.h" 10 | 11 | #include "HeadlessServerLauncher.h" 12 | 13 | //////////////////////////////////////////////////////////////////////////////// 14 | 15 | const char* const PROJECT_BANNER = "C1-Launcher Headless Server " PROJECT_VERSION_STRING; 16 | 17 | //////////////////////////////////////////////////////////////////////////////// 18 | 19 | int main() 20 | { 21 | try 22 | { 23 | return HeadlessServerLauncher().Run(); 24 | } 25 | catch (const std::runtime_error& ex) 26 | { 27 | std::fprintf(stderr, "%s\n", ex.what()); 28 | std::fflush(stderr); 29 | return 1; 30 | } 31 | } 32 | -------------------------------------------------------------------------------- /Code/ThirdParty/c1-launcher/Code/Launcher/HeadlessServer/NullValidator.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | #include "CryCommon/CrySystem/IValidator.h" 4 | 5 | struct NullValidator : public IValidator 6 | { 7 | void Report(SValidatorRecord&) override 8 | { 9 | } 10 | }; 11 | -------------------------------------------------------------------------------- /Code/ThirdParty/c1-launcher/Code/Launcher/LauncherCommon.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | #include 4 | #include 5 | 6 | struct CryRender_D3D9_AdapterInfo; 7 | struct CryRender_D3D10_AdapterInfo; 8 | struct CryRender_D3D10_SystemAPI; 9 | struct IGameStartup; 10 | struct ISystem; 11 | struct SSystemInitParams; 12 | 13 | namespace LauncherCommon 14 | { 15 | std::string GetMainFolderPath(); 16 | std::string GetRootFolderPath(); 17 | 18 | void* LoadDLL(const char* name); 19 | void* LoadEXE(const char* name); 20 | void* LoadCrysisWarheadEXE(); 21 | 22 | int GetGameBuild(void* pCrySystem); 23 | void VerifyGameBuild(int gameBuild); 24 | bool IsCrysisWarhead(int gameBuild); 25 | bool IsDX10(); 26 | 27 | void SetParamsCmdLine(SSystemInitParams& params, const char* cmdLine); 28 | 29 | IGameStartup* StartEngine(void* pCryGame, SSystemInitParams& params); 30 | 31 | void OnChangeUserPath(ISystem* pSystem, const char* userPath); 32 | void OnEarlyEngineInit(ISystem* pSystem); 33 | void OnD3D9Info(CryRender_D3D9_AdapterInfo* info); 34 | void OnD3D10Info(CryRender_D3D10_AdapterInfo* info); 35 | bool OnD3D10Init(CryRender_D3D10_SystemAPI* api); 36 | 37 | void LogBytes(const char* message, std::size_t bytes); 38 | 39 | std::FILE* OpenLogFile(const char* defaultFileName); 40 | } 41 | -------------------------------------------------------------------------------- /Code/ThirdParty/c1-launcher/Code/Library/CPUID.cpp: -------------------------------------------------------------------------------- 1 | #include "CPUID.h" 2 | 3 | const CPUID g_cpuid; 4 | -------------------------------------------------------------------------------- /Code/ThirdParty/c1-launcher/Code/Library/CrashLogger.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | #include 4 | 5 | namespace CrashLogger 6 | { 7 | typedef std::FILE* (*Handler)(); 8 | 9 | void OnEngineError(const char* format, va_list args); 10 | 11 | void Enable(Handler handler); 12 | } 13 | -------------------------------------------------------------------------------- /Code/ThirdParty/c1-launcher/Code/Library/EXELoader.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | /** 4 | * Multiple EXEs loaded within a single process is normally impossible, and yet here we are. 5 | */ 6 | struct EXELoader 7 | { 8 | #define EXE_LOADER_ERRORS \ 9 | X(NO_ERROR) \ 10 | X(ERROR_OPEN) \ 11 | X(ERROR_OPTIONAL_HEADER) \ 12 | X(ERROR_IMPORT_TABLE_MISSING) \ 13 | X(ERROR_IMPORT_LOAD_LIBRARY) \ 14 | X(ERROR_IAT_MISSING) \ 15 | X(ERROR_IAT_VIRTUAL_PROTECT) \ 16 | X(ERROR_IAT_VIRTUAL_PROTECT_RESTORE) \ 17 | X(ERROR_IAT_GET_PROC_ADDRESS) \ 18 | X(ERROR_TEXT_SECTION_MISSING) \ 19 | X(ERROR_RDATA_SECTION_MISSING) \ 20 | X(ERROR_GLOBAL_CONSTRUCTOR) 21 | 22 | enum Error 23 | { 24 | #define X(name) name, 25 | EXE_LOADER_ERRORS 26 | #undef X 27 | }; 28 | 29 | Error error; 30 | unsigned long sysError; 31 | const char* errorValue; 32 | 33 | EXELoader() : error(), sysError(), errorValue() {} 34 | 35 | void* Load(const char* name); 36 | 37 | const char* GetErrorName() const; 38 | }; 39 | -------------------------------------------------------------------------------- /Code/ThirdParty/c1-launcher/Code/Library/PathTools.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | #include "StringView.h" 4 | 5 | namespace PathTools 6 | { 7 | bool IsAbsolute(StringView path); 8 | 9 | StringView BaseName(StringView path); 10 | StringView DirName(StringView path); 11 | 12 | StringView GetFileExtension(StringView path); 13 | StringView RemoveFileExtension(StringView path); 14 | 15 | std::string GetWorkingDirectory(); 16 | std::string GetDocumentsPath(); 17 | 18 | std::string Prettify(StringView path); 19 | std::string MakeAbsolute(StringView path); 20 | 21 | std::string Join(StringView pathA, StringView pathB); 22 | } 23 | -------------------------------------------------------------------------------- /Code/ThirdParty/c1-launcher/Code/Library/StdFile.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | #include 4 | 5 | struct StdFile 6 | { 7 | std::FILE* handle; 8 | 9 | StdFile() : handle(NULL) 10 | { 11 | } 12 | 13 | StdFile(const char* path, const char* mode) : handle(std::fopen(path, mode)) 14 | { 15 | } 16 | 17 | private: 18 | // no copies 19 | StdFile(const StdFile&); 20 | StdFile& operator=(const StdFile&); 21 | 22 | public: 23 | ~StdFile() 24 | { 25 | this->Close(); 26 | } 27 | 28 | bool IsOpen() const 29 | { 30 | return this->handle != NULL; 31 | } 32 | 33 | bool Open(const char* path, const char* mode) 34 | { 35 | this->Close(); 36 | this->handle = std::fopen(path, mode); 37 | 38 | return this->IsOpen(); 39 | } 40 | 41 | void Close() 42 | { 43 | if (this->handle) 44 | { 45 | std::fclose(this->handle); 46 | this->handle = NULL; 47 | } 48 | } 49 | 50 | std::size_t Read(char* buffer, std::size_t bufferSize) 51 | { 52 | return std::fread(buffer, 1, bufferSize, this->handle); 53 | } 54 | 55 | std::size_t Write(const char* buffer, std::size_t bufferSize) 56 | { 57 | return std::fwrite(buffer, 1, bufferSize, this->handle); 58 | } 59 | 60 | bool IsEndOfFile() 61 | { 62 | return std::feof(this->handle) != 0; 63 | } 64 | 65 | void Flush() 66 | { 67 | std::fflush(this->handle); 68 | } 69 | }; 70 | -------------------------------------------------------------------------------- /Code/ThirdParty/c1-launcher/Code/Library/StringFormat.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | #include 4 | #include 5 | #include 6 | 7 | std::string StringFormat(const char* format, ...); 8 | std::string StringFormatV(const char* format, va_list args); 9 | 10 | void StringFormatTo(std::string& result, const char* format, ...); 11 | void StringFormatToV(std::string& result, const char* format, va_list args); 12 | 13 | std::runtime_error StringFormat_Error(const char* format, ...); 14 | 15 | std::runtime_error StringFormat_SysError(const char* format, ...); 16 | std::runtime_error StringFormat_SysError(unsigned long sysError, const char* format, ...); 17 | std::runtime_error StringFormatV_SysError(unsigned long sysError, const char* format, va_list args); 18 | -------------------------------------------------------------------------------- /Code/ThirdParty/c1-launcher/Code/Library/StringTools.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | #include 4 | #include 5 | #include 6 | #include 7 | 8 | namespace StringTools 9 | { 10 | std::string Format(const char* format, ...); 11 | std::string FormatV(const char* format, va_list args); 12 | 13 | std::size_t FormatTo(std::string& result, const char* format, ...); 14 | std::size_t FormatToV(std::string& result, const char* format, va_list args); 15 | 16 | std::size_t FormatTo(char* buffer, std::size_t bufferSize, const char* format, ...); 17 | std::size_t FormatToV(char* buffer, std::size_t bufferSize, const char* format, va_list args); 18 | 19 | std::runtime_error Error(const char* format, ...); 20 | std::runtime_error ErrorV(const char* format, va_list args); 21 | 22 | std::runtime_error OSError(const char* format, ...); 23 | std::runtime_error OSErrorV(const char* format, va_list args); 24 | } 25 | -------------------------------------------------------------------------------- /Code/ThirdParty/c1-launcher/Code/Library/StringView.cpp: -------------------------------------------------------------------------------- 1 | #include 2 | 3 | #include "StringView.h" 4 | 5 | int StringView::Compare(const StringView& other) const 6 | { 7 | const std::size_t commonLength = (this->length <= other.length) ? this->length : other.length; 8 | 9 | const int commonDiff = std::memcmp(this->string, other.string, commonLength); 10 | if (commonDiff != 0) 11 | { 12 | return commonDiff; 13 | } 14 | 15 | if (this->length != other.length) 16 | { 17 | return (this->length < other.length) ? -1 : 1; 18 | } 19 | 20 | return 0; 21 | } 22 | 23 | int StringView::CompareNoCase(const StringView& other) const 24 | { 25 | const std::size_t commonLength = (this->length <= other.length) ? this->length : other.length; 26 | 27 | for (std::size_t i = 0; i < commonLength; i++) 28 | { 29 | char chA = std::toupper(this->string[i]); 30 | char chB = std::toupper(other.string[i]); 31 | 32 | if (chA != chB) 33 | { 34 | return (chA < chB) ? -1 : 1; 35 | } 36 | } 37 | 38 | if (this->length != other.length) 39 | { 40 | return (this->length < other.length) ? -1 : 1; 41 | } 42 | 43 | return 0; 44 | } 45 | 46 | bool StringView::Find(char ch, std::size_t& pos) const 47 | { 48 | if (pos >= this->length) 49 | { 50 | return false; 51 | } 52 | 53 | const void* location = std::memchr(this->string + pos, ch, this->length - pos); 54 | 55 | if (!location) 56 | { 57 | return false; 58 | } 59 | 60 | pos = static_cast(location) - this->string; 61 | 62 | return true; 63 | } 64 | -------------------------------------------------------------------------------- /Code/ThirdParty/c1-launcher/CppProperties.json: -------------------------------------------------------------------------------- 1 | { 2 | "configurations": [ 3 | { 4 | "inheritEnvironments": [ 5 | "msvc_x64" 6 | ], 7 | "name": "x64-Release", 8 | "includePath": [ 9 | "${env.INCLUDE}", 10 | "${workspaceRoot}\\**" 11 | ], 12 | "defines": [ 13 | "WIN32", 14 | "NDEBUG", 15 | "UNICODE", 16 | "_UNICODE" 17 | ], 18 | "intelliSenseMode": "windows-msvc-x64" 19 | } 20 | ] 21 | } -------------------------------------------------------------------------------- /Code/ThirdParty/c1-launcher/Dockerfile: -------------------------------------------------------------------------------- 1 | FROM debian:stable 2 | 3 | ARG TOOLCHAIN_TARBALL=Wine_MSVC_VS2005_drive_c.tar.gz 4 | ARG DEBIAN_FRONTEND=noninteractive 5 | 6 | RUN dpkg --add-architecture i386 \ 7 | && apt-get update \ 8 | && apt-get install -y --no-install-recommends wine wine64 wine32:i386 winbind \ 9 | && apt-get clean 10 | 11 | ENV WINEPREFIX=/root/.wine 12 | RUN wineboot --init && wineserver --wait 13 | 14 | ADD https://comrade.one/$TOOLCHAIN_TARBALL / 15 | RUN tar -xaf /$TOOLCHAIN_TARBALL -C /root/.wine/drive_c/ && rm /$TOOLCHAIN_TARBALL 16 | -------------------------------------------------------------------------------- /Code/ThirdParty/c1-launcher/Project.h.in: -------------------------------------------------------------------------------- 1 | /** 2 | * @file 3 | * @brief Project information. 4 | * 5 | * This file is processed by CMake. 6 | */ 7 | 8 | #pragma once 9 | 10 | #define PROJECT_VERSION @PROJECT_VERSION_MAJOR@ 11 | #define PROJECT_VERSION_STRING "v@PROJECT_VERSION_MAJOR@ @BUILD_BITS@-bit" 12 | 13 | // contains launcher name and version 14 | // defined in Main.cpp of each launcher 15 | extern const char* const PROJECT_BANNER; 16 | -------------------------------------------------------------------------------- /Code/ThirdParty/c1-launcher/Resources/Crysis.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fholger/crysis_vrmod/9406773fa89a3027d285adb236084bd5a7a98b45/Code/ThirdParty/c1-launcher/Resources/Crysis.ico -------------------------------------------------------------------------------- /Code/ThirdParty/c1-launcher/Resources/Crysis.rc: -------------------------------------------------------------------------------- 1 | // Crysis launcher resources 2 | 3 | #include 4 | 5 | #include "Launcher/Game/Resources.h" 6 | #include "Project.h" 7 | 8 | RESOURCE_ICON ICON "Crysis.ico" 9 | 10 | RESOURCE_CURSOR_AMBER CURSOR "CursorAmber.cur" 11 | RESOURCE_CURSOR_BLUE CURSOR "CursorBlue.cur" 12 | RESOURCE_CURSOR_GREEN CURSOR "CursorGreen.cur" 13 | RESOURCE_CURSOR_RED CURSOR "CursorRed.cur" 14 | RESOURCE_CURSOR_WHITE CURSOR "CursorWhite.cur" 15 | 16 | VS_VERSION_INFO VERSIONINFO 17 | FILEVERSION PROJECT_VERSION, 0, 0, 0 18 | PRODUCTVERSION PROJECT_VERSION, 0, 0, 0 19 | FILEOS VOS__WINDOWS32 20 | FILETYPE VFT_APP 21 | BEGIN 22 | BLOCK "StringFileInfo" 23 | BEGIN 24 | BLOCK "040904E4" 25 | BEGIN 26 | VALUE "CompanyName", "Crytek GmbH" 27 | VALUE "LegalCopyright", "(C) 2007 Crytek GmbH" 28 | VALUE "ProductName", "C1-Launcher" 29 | VALUE "ProductVersion", PROJECT_VERSION_STRING 30 | VALUE "FileVersion", PROJECT_VERSION_STRING 31 | VALUE "FileDescription", "Crysis" 32 | VALUE "InternalName", "Crysis" 33 | VALUE "OriginalFilename", "Crysis.exe" 34 | END 35 | END 36 | 37 | BLOCK "VarFileInfo" 38 | BEGIN 39 | VALUE "Translation", 0x409, 1252 40 | END 41 | END 42 | -------------------------------------------------------------------------------- /Code/ThirdParty/c1-launcher/Resources/CrysisWarhead.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fholger/crysis_vrmod/9406773fa89a3027d285adb236084bd5a7a98b45/Code/ThirdParty/c1-launcher/Resources/CrysisWarhead.ico -------------------------------------------------------------------------------- /Code/ThirdParty/c1-launcher/Resources/CrysisWarhead.rc: -------------------------------------------------------------------------------- 1 | // Crysis Warhead launcher resources 2 | 3 | #include 4 | 5 | #include "Launcher/Game/Resources.h" 6 | #include "Project.h" 7 | 8 | RESOURCE_ICON ICON "CrysisWarhead.ico" 9 | 10 | RESOURCE_CURSOR_AMBER CURSOR "CursorAmber.cur" 11 | RESOURCE_CURSOR_BLUE CURSOR "CursorBlue.cur" 12 | RESOURCE_CURSOR_GREEN CURSOR "CursorGreen.cur" 13 | RESOURCE_CURSOR_RED CURSOR "CursorRed.cur" 14 | RESOURCE_CURSOR_WHITE CURSOR "CursorWhite.cur" 15 | 16 | VS_VERSION_INFO VERSIONINFO 17 | FILEVERSION PROJECT_VERSION, 0, 0, 0 18 | PRODUCTVERSION PROJECT_VERSION, 0, 0, 0 19 | FILEOS VOS__WINDOWS32 20 | FILETYPE VFT_APP 21 | BEGIN 22 | BLOCK "StringFileInfo" 23 | BEGIN 24 | BLOCK "040904E4" 25 | BEGIN 26 | VALUE "CompanyName", "Crytek GmbH" 27 | VALUE "LegalCopyright", "(C) 2007 Crytek GmbH" 28 | VALUE "ProductName", "C1-Launcher" 29 | VALUE "ProductVersion", PROJECT_VERSION_STRING 30 | VALUE "FileVersion", PROJECT_VERSION_STRING 31 | VALUE "FileDescription", "Crysis Warhead" 32 | VALUE "InternalName", "CrysisWarheadLauncher" 33 | VALUE "OriginalFilename", "CrysisWarheadLauncher.exe" 34 | END 35 | END 36 | 37 | BLOCK "VarFileInfo" 38 | BEGIN 39 | VALUE "Translation", 0x409, 1252 40 | END 41 | END 42 | -------------------------------------------------------------------------------- /Code/ThirdParty/c1-launcher/Resources/CrysisWars.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fholger/crysis_vrmod/9406773fa89a3027d285adb236084bd5a7a98b45/Code/ThirdParty/c1-launcher/Resources/CrysisWars.ico -------------------------------------------------------------------------------- /Code/ThirdParty/c1-launcher/Resources/CrysisWars.rc: -------------------------------------------------------------------------------- 1 | // Crysis Wars launcher resources 2 | 3 | #include 4 | 5 | #include "Launcher/Game/Resources.h" 6 | #include "Project.h" 7 | 8 | RESOURCE_ICON ICON "CrysisWars.ico" 9 | 10 | RESOURCE_CURSOR_AMBER CURSOR "CursorAmber.cur" 11 | RESOURCE_CURSOR_BLUE CURSOR "CursorBlue.cur" 12 | RESOURCE_CURSOR_GREEN CURSOR "CursorGreen.cur" 13 | RESOURCE_CURSOR_RED CURSOR "CursorRed.cur" 14 | RESOURCE_CURSOR_WHITE CURSOR "CursorWhite.cur" 15 | 16 | VS_VERSION_INFO VERSIONINFO 17 | FILEVERSION PROJECT_VERSION, 0, 0, 0 18 | PRODUCTVERSION PROJECT_VERSION, 0, 0, 0 19 | FILEOS VOS__WINDOWS32 20 | FILETYPE VFT_APP 21 | BEGIN 22 | BLOCK "StringFileInfo" 23 | BEGIN 24 | BLOCK "040904E4" 25 | BEGIN 26 | VALUE "CompanyName", "Crytek GmbH" 27 | VALUE "LegalCopyright", "(C) 2007 Crytek GmbH" 28 | VALUE "ProductName", "C1-Launcher" 29 | VALUE "ProductVersion", PROJECT_VERSION_STRING 30 | VALUE "FileVersion", PROJECT_VERSION_STRING 31 | VALUE "FileDescription", "Crysis Wars" 32 | VALUE "InternalName", "Crysis" 33 | VALUE "OriginalFilename", "Crysis.exe" 34 | END 35 | END 36 | 37 | BLOCK "VarFileInfo" 38 | BEGIN 39 | VALUE "Translation", 0x409, 1252 40 | END 41 | END 42 | -------------------------------------------------------------------------------- /Code/ThirdParty/c1-launcher/Resources/CursorAmber.cur: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fholger/crysis_vrmod/9406773fa89a3027d285adb236084bd5a7a98b45/Code/ThirdParty/c1-launcher/Resources/CursorAmber.cur -------------------------------------------------------------------------------- /Code/ThirdParty/c1-launcher/Resources/CursorBlue.cur: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fholger/crysis_vrmod/9406773fa89a3027d285adb236084bd5a7a98b45/Code/ThirdParty/c1-launcher/Resources/CursorBlue.cur -------------------------------------------------------------------------------- /Code/ThirdParty/c1-launcher/Resources/CursorGreen.cur: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fholger/crysis_vrmod/9406773fa89a3027d285adb236084bd5a7a98b45/Code/ThirdParty/c1-launcher/Resources/CursorGreen.cur -------------------------------------------------------------------------------- /Code/ThirdParty/c1-launcher/Resources/CursorRed.cur: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fholger/crysis_vrmod/9406773fa89a3027d285adb236084bd5a7a98b45/Code/ThirdParty/c1-launcher/Resources/CursorRed.cur -------------------------------------------------------------------------------- /Code/ThirdParty/c1-launcher/Resources/CursorWhite.cur: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fholger/crysis_vrmod/9406773fa89a3027d285adb236084bd5a7a98b45/Code/ThirdParty/c1-launcher/Resources/CursorWhite.cur -------------------------------------------------------------------------------- /Code/ThirdParty/c1-launcher/Resources/DedicatedServer.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fholger/crysis_vrmod/9406773fa89a3027d285adb236084bd5a7a98b45/Code/ThirdParty/c1-launcher/Resources/DedicatedServer.ico -------------------------------------------------------------------------------- /Code/ThirdParty/c1-launcher/Resources/DedicatedServer.rc: -------------------------------------------------------------------------------- 1 | // Dedicated server launcher resources 2 | 3 | #include 4 | 5 | #include "Launcher/DedicatedServer/Resources.h" 6 | #include "Project.h" 7 | 8 | RESOURCE_ICON ICON "DedicatedServer.ico" 9 | 10 | VS_VERSION_INFO VERSIONINFO 11 | FILEVERSION PROJECT_VERSION, 0, 0, 0 12 | PRODUCTVERSION PROJECT_VERSION, 0, 0, 0 13 | FILEOS VOS__WINDOWS32 14 | FILETYPE VFT_APP 15 | BEGIN 16 | BLOCK "StringFileInfo" 17 | BEGIN 18 | BLOCK "040904E4" 19 | BEGIN 20 | VALUE "CompanyName", "Crytek GmbH" 21 | VALUE "LegalCopyright", "(C) 2007 Crytek GmbH" 22 | VALUE "ProductName", "C1-Launcher" 23 | VALUE "ProductVersion", PROJECT_VERSION_STRING 24 | VALUE "FileVersion", PROJECT_VERSION_STRING 25 | VALUE "FileDescription", "Crysis Dedicated Server" 26 | VALUE "InternalName", "CrysisDedicatedServer" 27 | VALUE "OriginalFilename", "CrysisDedicatedServer.exe" 28 | END 29 | END 30 | 31 | BLOCK "VarFileInfo" 32 | BEGIN 33 | VALUE "Translation", 0x409, 1252 34 | END 35 | END 36 | -------------------------------------------------------------------------------- /Code/ThirdParty/c1-launcher/Resources/DedicatedServerIcon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fholger/crysis_vrmod/9406773fa89a3027d285adb236084bd5a7a98b45/Code/ThirdParty/c1-launcher/Resources/DedicatedServerIcon.ico -------------------------------------------------------------------------------- /Code/ThirdParty/c1-launcher/Resources/DedicatedServerLauncher.rc: -------------------------------------------------------------------------------- 1 | // Dedicated server launcher resources 2 | 3 | #include 4 | 5 | #include "Launcher/DedicatedServer/Resources.h" 6 | #include "Project.h" 7 | 8 | RESOURCE_ICON ICON "DedicatedServerIcon.ico" 9 | 10 | VS_VERSION_INFO VERSIONINFO 11 | FILEVERSION PROJECT_VERSION, 0, 0, 0 12 | PRODUCTVERSION PROJECT_VERSION, 0, 0, 0 13 | FILEOS VOS__WINDOWS32 14 | FILETYPE VFT_APP 15 | BEGIN 16 | BLOCK "StringFileInfo" 17 | BEGIN 18 | BLOCK "040904E4" 19 | BEGIN 20 | VALUE "CompanyName", "Crytek GmbH" 21 | VALUE "LegalCopyright", "(C) 2007 Crytek GmbH" 22 | VALUE "ProductName", "C1-Launcher" 23 | VALUE "ProductVersion", PROJECT_VERSION_STRING 24 | VALUE "FileVersion", PROJECT_VERSION_STRING 25 | VALUE "FileDescription", "Crysis Dedicated Server" 26 | VALUE "InternalName", "CrysisDedicatedServer" 27 | VALUE "OriginalFilename", "CrysisDedicatedServer.exe" 28 | END 29 | END 30 | 31 | BLOCK "VarFileInfo" 32 | BEGIN 33 | VALUE "Translation", 0x409, 1252 34 | END 35 | END 36 | -------------------------------------------------------------------------------- /Code/ThirdParty/c1-launcher/Resources/Editor.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fholger/crysis_vrmod/9406773fa89a3027d285adb236084bd5a7a98b45/Code/ThirdParty/c1-launcher/Resources/Editor.ico -------------------------------------------------------------------------------- /Code/ThirdParty/c1-launcher/Resources/Editor.rc: -------------------------------------------------------------------------------- 1 | // Editor launcher resources 2 | 3 | #include 4 | 5 | #include "Launcher/Editor/Resources.h" 6 | #include "Project.h" 7 | 8 | RESOURCE_ICON ICON "Editor.ico" 9 | 10 | VS_VERSION_INFO VERSIONINFO 11 | FILEVERSION PROJECT_VERSION, 0, 0, 0 12 | PRODUCTVERSION PROJECT_VERSION, 0, 0, 0 13 | FILEOS VOS__WINDOWS32 14 | FILETYPE VFT_APP 15 | BEGIN 16 | BLOCK "StringFileInfo" 17 | BEGIN 18 | BLOCK "040904E4" 19 | BEGIN 20 | VALUE "CompanyName", "Crytek GmbH" 21 | VALUE "LegalCopyright", "(C) 2007 Crytek GmbH" 22 | VALUE "ProductName", "C1-Launcher" 23 | VALUE "ProductVersion", PROJECT_VERSION_STRING 24 | VALUE "FileVersion", PROJECT_VERSION_STRING 25 | VALUE "FileDescription", "CryENGINE Sandbox 2" 26 | VALUE "InternalName", "EditorLauncher" 27 | VALUE "OriginalFilename", "EditorLauncher.exe" 28 | END 29 | END 30 | 31 | BLOCK "VarFileInfo" 32 | BEGIN 33 | VALUE "Translation", 0x409, 1252 34 | END 35 | END 36 | -------------------------------------------------------------------------------- /Code/ThirdParty/c1-launcher/Resources/GameIcon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fholger/crysis_vrmod/9406773fa89a3027d285adb236084bd5a7a98b45/Code/ThirdParty/c1-launcher/Resources/GameIcon.ico -------------------------------------------------------------------------------- /Code/ThirdParty/c1-launcher/Resources/GameLauncher.rc: -------------------------------------------------------------------------------- 1 | // Game launcher resources 2 | 3 | #include 4 | 5 | #include "Launcher/Game/Resources.h" 6 | #include "Project.h" 7 | 8 | RESOURCE_ICON ICON "GameIcon.ico" 9 | 10 | RESOURCE_CURSOR_AMBER CURSOR "CursorAmber.cur" 11 | RESOURCE_CURSOR_BLUE CURSOR "CursorBlue.cur" 12 | RESOURCE_CURSOR_GREEN CURSOR "CursorGreen.cur" 13 | RESOURCE_CURSOR_RED CURSOR "CursorRed.cur" 14 | RESOURCE_CURSOR_WHITE CURSOR "CursorWhite.cur" 15 | 16 | VS_VERSION_INFO VERSIONINFO 17 | FILEVERSION PROJECT_VERSION, 0, 0, 0 18 | PRODUCTVERSION PROJECT_VERSION, 0, 0, 0 19 | FILEOS VOS__WINDOWS32 20 | FILETYPE VFT_APP 21 | BEGIN 22 | BLOCK "StringFileInfo" 23 | BEGIN 24 | BLOCK "040904E4" 25 | BEGIN 26 | VALUE "CompanyName", "Crytek GmbH" 27 | VALUE "LegalCopyright", "(C) 2007 Crytek GmbH" 28 | VALUE "ProductName", "C1-Launcher" 29 | VALUE "ProductVersion", PROJECT_VERSION_STRING 30 | VALUE "FileVersion", PROJECT_VERSION_STRING 31 | VALUE "FileDescription", "Crysis" 32 | VALUE "InternalName", "Crysis" 33 | VALUE "OriginalFilename", "Crysis.exe" 34 | END 35 | END 36 | 37 | BLOCK "VarFileInfo" 38 | BEGIN 39 | VALUE "Translation", 0x409, 1252 40 | END 41 | END 42 | -------------------------------------------------------------------------------- /Code/ThirdParty/c1-launcher/Resources/HeadlessServer.rc: -------------------------------------------------------------------------------- 1 | // Headless server launcher resources 2 | 3 | #include 4 | 5 | #include "Project.h" 6 | 7 | VS_VERSION_INFO VERSIONINFO 8 | FILEVERSION PROJECT_VERSION, 0, 0, 0 9 | PRODUCTVERSION PROJECT_VERSION, 0, 0, 0 10 | FILEOS VOS__WINDOWS32 11 | FILETYPE VFT_APP 12 | BEGIN 13 | BLOCK "StringFileInfo" 14 | BEGIN 15 | BLOCK "040904E4" 16 | BEGIN 17 | VALUE "CompanyName", "Crytek GmbH" 18 | VALUE "LegalCopyright", "(C) 2007 Crytek GmbH" 19 | VALUE "ProductName", "C1-Launcher" 20 | VALUE "ProductVersion", PROJECT_VERSION_STRING 21 | VALUE "FileVersion", PROJECT_VERSION_STRING 22 | VALUE "FileDescription", "Crysis Headless Server" 23 | VALUE "InternalName", "CrysisHeadlessServer" 24 | VALUE "OriginalFilename", "CrysisHeadlessServer.exe" 25 | END 26 | END 27 | 28 | BLOCK "VarFileInfo" 29 | BEGIN 30 | VALUE "Translation", 0x409, 1252 31 | END 32 | END 33 | -------------------------------------------------------------------------------- /Code/ThirdParty/c1-launcher/Resources/HeadlessServerLauncher.rc: -------------------------------------------------------------------------------- 1 | // Headless server launcher resources 2 | 3 | #include 4 | 5 | #include "Project.h" 6 | 7 | VS_VERSION_INFO VERSIONINFO 8 | FILEVERSION PROJECT_VERSION, 0, 0, 0 9 | PRODUCTVERSION PROJECT_VERSION, 0, 0, 0 10 | FILEOS VOS__WINDOWS32 11 | FILETYPE VFT_APP 12 | BEGIN 13 | BLOCK "StringFileInfo" 14 | BEGIN 15 | BLOCK "040904E4" 16 | BEGIN 17 | VALUE "CompanyName", "Crytek GmbH" 18 | VALUE "LegalCopyright", "(C) 2007 Crytek GmbH" 19 | VALUE "ProductName", "C1-Launcher" 20 | VALUE "ProductVersion", PROJECT_VERSION_STRING 21 | VALUE "FileVersion", PROJECT_VERSION_STRING 22 | VALUE "FileDescription", "Crysis Headless Server" 23 | VALUE "InternalName", "CrysisHeadlessServer" 24 | VALUE "OriginalFilename", "CrysisHeadlessServer.exe" 25 | END 26 | END 27 | 28 | BLOCK "VarFileInfo" 29 | BEGIN 30 | VALUE "Translation", 0x409, 1252 31 | END 32 | END 33 | -------------------------------------------------------------------------------- /Code/ThirdParty/c1-launcher/Resources/Launcher.manifest: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | true/pm 6 | PerMonitorV2 7 | 8 | 9 | 10 | 11 | 19 | 20 | 21 | 22 | 23 | 24 | 27 | 28 | 29 | 30 | 31 | -------------------------------------------------------------------------------- /Code/ThirdParty/c1-launcher/Resources/Manifests/DpiAwareness.manifest: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | true/pm 6 | PerMonitorV2 7 | 8 | 9 | 10 | -------------------------------------------------------------------------------- /Code/ThirdParty/c1-launcher/Resources/Manifests/EnableVisualStyles.manifest: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 13 | 14 | 15 | 16 | -------------------------------------------------------------------------------- /Code/ThirdParty/c1-launcher/Resources/Manifests/TrustInfo.manifest: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /Code/ThirdParty/c1-launcher/Resources/Manifests/VC80_CRT.manifest: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 12 | 13 | 14 | 15 | -------------------------------------------------------------------------------- /Code/ThirdParty/c1-launcher/Resources/Manifests/VC80_MFC.manifest: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 12 | 13 | 14 | 15 | -------------------------------------------------------------------------------- /Code/ThirdParty/imgui/.editorconfig: -------------------------------------------------------------------------------- 1 | # See http://editorconfig.org to read about the EditorConfig format. 2 | # - In theory automatically supported by VS2017+ and most common IDE or text editors. 3 | # - In practice VS2019-VS2022 stills don't trim trailing whitespaces correctly :( 4 | # - Suggest installing this to trim whitespaces: 5 | # GitHub https://github.com/madskristensen/TrailingWhitespace 6 | # VS2019 https://marketplace.visualstudio.com/items?itemName=MadsKristensen.TrailingWhitespaceVisualizer 7 | # VS2022 https://marketplace.visualstudio.com/items?itemName=MadsKristensen.TrailingWhitespace64 8 | # (in spite of its name doesn't only visualize but also trims) 9 | # - Alternative for older VS2010 to VS2015: https://marketplace.visualstudio.com/items?itemName=EditorConfigTeam.EditorConfig 10 | 11 | # top-most EditorConfig file 12 | root = true 13 | 14 | # Default settings: 15 | # Use 4 spaces as indentation 16 | [*] 17 | indent_style = space 18 | indent_size = 4 19 | insert_final_newline = true 20 | trim_trailing_whitespace = true 21 | 22 | [imstb_*] 23 | indent_size = 3 24 | trim_trailing_whitespace = false 25 | 26 | [Makefile] 27 | indent_style = tab 28 | indent_size = 4 29 | -------------------------------------------------------------------------------- /Code/ThirdParty/imgui/.gitattributes: -------------------------------------------------------------------------------- 1 | * text=auto 2 | 3 | *.c text 4 | *.cpp text 5 | *.h text 6 | *.m text 7 | *.mm text 8 | *.md text 9 | *.txt text 10 | *.html text 11 | *.bat text 12 | *.frag text 13 | *.vert text 14 | *.mkb text 15 | *.icf text 16 | 17 | *.sln text eol=crlf 18 | *.vcxproj text eol=crlf 19 | *.vcxproj.filters text eol=crlf 20 | *.natvis text eol=crlf 21 | 22 | Makefile text eol=lf 23 | *.sh text eol=lf 24 | *.pbxproj text eol=lf 25 | *.storyboard text eol=lf 26 | *.plist text eol=lf 27 | 28 | *.png binary 29 | *.ttf binary 30 | *.lib binary 31 | -------------------------------------------------------------------------------- /Code/ThirdParty/imgui/.gitignore: -------------------------------------------------------------------------------- 1 | ## OSX artifacts 2 | .DS_Store 3 | 4 | ## Dear ImGui artifacts 5 | imgui.ini 6 | imgui*.ini 7 | 8 | ## General build artifacts 9 | *.o 10 | *.obj 11 | *.exe 12 | examples/*/Debug/* 13 | examples/*/Release/* 14 | examples/*/x64/* 15 | 16 | ## Visual Studio artifacts 17 | .vs 18 | ipch 19 | *.opensdf 20 | *.log 21 | *.pdb 22 | *.ilk 23 | *.user 24 | *.sdf 25 | *.suo 26 | *.VC.db 27 | *.VC.VC.opendb 28 | 29 | ## Getting files created in JSON/Schemas/Catalog/ from a VS2022 update 30 | JSON/ 31 | 32 | ## Commonly used CMake directories 33 | build*/ 34 | 35 | ## Xcode artifacts 36 | project.xcworkspace 37 | xcuserdata 38 | 39 | ## Emscripten artifacts 40 | examples/*.o.tmp 41 | examples/*.out.js 42 | examples/*.out.wasm 43 | examples/example_glfw_opengl3/web/* 44 | examples/example_glfw_wgpu/web/* 45 | examples/example_glfw_wgpu/external/* 46 | examples/example_sdl2_opengl3/web/* 47 | 48 | ## JetBrains IDE artifacts 49 | .idea 50 | cmake-build-* 51 | 52 | ## Unix executables from our example Makefiles 53 | examples/example_glfw_metal/example_glfw_metal 54 | examples/example_glfw_opengl2/example_glfw_opengl2 55 | examples/example_glfw_opengl3/example_glfw_opengl3 56 | examples/example_glut_opengl2/example_glut_opengl2 57 | examples/example_null/example_null 58 | examples/example_sdl2_metal/example_sdl2_metal 59 | examples/example_sdl2_opengl2/example_sdl2_opengl2 60 | examples/example_sdl2_opengl3/example_sdl2_opengl3 61 | examples/example_sdl2_sdlrenderer/example_sdl2_sdlrenderer 62 | -------------------------------------------------------------------------------- /Code/ThirdParty/imgui/LICENSE.txt: -------------------------------------------------------------------------------- 1 | The MIT License (MIT) 2 | 3 | Copyright (c) 2014-2024 Omar Cornut 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. 22 | -------------------------------------------------------------------------------- /Code/ThirdParty/imgui/backends/imgui_impl_dx10.h: -------------------------------------------------------------------------------- 1 | // dear imgui: Renderer Backend for DirectX10 2 | // This needs to be used along with a Platform Backend (e.g. Win32) 3 | 4 | // Implemented features: 5 | // [X] Renderer: User texture binding. Use 'ID3D10ShaderResourceView*' as ImTextureID. Read the FAQ about ImTextureID! 6 | // [X] Renderer: Large meshes support (64k+ vertices) even with 16-bit indices (ImGuiBackendFlags_RendererHasVtxOffset). 7 | 8 | // You can use unmodified imgui_impl_* files in your project. See examples/ folder for examples of using this. 9 | // Prefer including the entire imgui/ repository into your project (either as a copy or as a submodule), and only build the backends you need. 10 | // Learn about Dear ImGui: 11 | // - FAQ https://dearimgui.com/faq 12 | // - Getting Started https://dearimgui.com/getting-started 13 | // - Documentation https://dearimgui.com/docs (same as your local docs/ folder). 14 | // - Introduction, links and more at the top of imgui.cpp 15 | 16 | #pragma once 17 | #include "imgui.h" // IMGUI_IMPL_API 18 | #ifndef IMGUI_DISABLE 19 | 20 | struct ID3D10Device; 21 | 22 | // Follow "Getting Started" link and check examples/ folder to learn about using backends! 23 | IMGUI_IMPL_API bool ImGui_ImplDX10_Init(ID3D10Device* device); 24 | IMGUI_IMPL_API void ImGui_ImplDX10_Shutdown(); 25 | IMGUI_IMPL_API void ImGui_ImplDX10_NewFrame(); 26 | IMGUI_IMPL_API void ImGui_ImplDX10_RenderDrawData(ImDrawData* draw_data); 27 | 28 | // Use if you want to reset your rendering device without losing Dear ImGui state. 29 | IMGUI_IMPL_API bool ImGui_ImplDX10_CreateDeviceObjects(); 30 | IMGUI_IMPL_API void ImGui_ImplDX10_InvalidateDeviceObjects(); 31 | 32 | #endif // #ifndef IMGUI_DISABLE 33 | -------------------------------------------------------------------------------- /Code/ThirdParty/imgui/backends/imgui_impl_dx9.h: -------------------------------------------------------------------------------- 1 | // dear imgui: Renderer Backend for DirectX9 2 | // This needs to be used along with a Platform Backend (e.g. Win32) 3 | 4 | // Implemented features: 5 | // [X] Renderer: User texture binding. Use 'LPDIRECT3DTEXTURE9' as ImTextureID. Read the FAQ about ImTextureID! 6 | // [X] Renderer: Large meshes support (64k+ vertices) even with 16-bit indices (ImGuiBackendFlags_RendererHasVtxOffset). 7 | // [X] Renderer: IMGUI_USE_BGRA_PACKED_COLOR support, as this is the optimal color encoding for DirectX9. 8 | 9 | // You can use unmodified imgui_impl_* files in your project. See examples/ folder for examples of using this. 10 | // Prefer including the entire imgui/ repository into your project (either as a copy or as a submodule), and only build the backends you need. 11 | // Learn about Dear ImGui: 12 | // - FAQ https://dearimgui.com/faq 13 | // - Getting Started https://dearimgui.com/getting-started 14 | // - Documentation https://dearimgui.com/docs (same as your local docs/ folder). 15 | // - Introduction, links and more at the top of imgui.cpp 16 | 17 | #pragma once 18 | #include "imgui.h" // IMGUI_IMPL_API 19 | #ifndef IMGUI_DISABLE 20 | 21 | struct IDirect3DDevice9; 22 | 23 | // Follow "Getting Started" link and check examples/ folder to learn about using backends! 24 | IMGUI_IMPL_API bool ImGui_ImplDX9_Init(IDirect3DDevice9* device); 25 | IMGUI_IMPL_API void ImGui_ImplDX9_Shutdown(); 26 | IMGUI_IMPL_API void ImGui_ImplDX9_NewFrame(); 27 | IMGUI_IMPL_API void ImGui_ImplDX9_RenderDrawData(ImDrawData* draw_data); 28 | 29 | // Use if you want to reset your rendering device without losing Dear ImGui state. 30 | IMGUI_IMPL_API bool ImGui_ImplDX9_CreateDeviceObjects(); 31 | IMGUI_IMPL_API void ImGui_ImplDX9_InvalidateDeviceObjects(); 32 | 33 | #endif // #ifndef IMGUI_DISABLE 34 | -------------------------------------------------------------------------------- /Code/ThirdParty/imgui/misc/debuggers/imgui.natstepfilter: -------------------------------------------------------------------------------- 1 | 2 | 18 | 19 | 20 | 21 | 22 | 23 | (ImVec2|ImVec4|ImStrv)::.+ 24 | NoStepInto 25 | 26 | 27 | (ImVector|ImSpan).*::operator.+ 28 | NoStepInto 29 | 30 | 31 | 32 | -------------------------------------------------------------------------------- /Code/ThirdParty/minhook/.editorconfig: -------------------------------------------------------------------------------- 1 | # EditorConfig is awesome: http://EditorConfig.org 2 | 3 | # top-most EditorConfig file 4 | root = true 5 | 6 | # Windows-style newlines with a newline ending every file 7 | [*] 8 | end_of_line = crlf 9 | insert_final_newline = true 10 | 11 | # 4 space indentation 12 | [*.{c,h,def}] 13 | indent_style = space 14 | indent_size = 4 15 | 16 | # Trim trailing whitespaces 17 | [*.{c,h,def,txt}] 18 | trim_trailing_whitespace = true 19 | 20 | # UTF-8 with BOM 21 | [*.{c,h,def,txt}] 22 | charset=utf-8-bom 23 | -------------------------------------------------------------------------------- /Code/ThirdParty/minhook/AUTHORS.txt: -------------------------------------------------------------------------------- 1 | Tsuda Kageyu 2 | Creator, maintainer 3 | 4 | Michael Maltsev 5 | Added "Queue" functions. A lot of bug fixes. 6 | 7 | Andrey Unis 8 | Rewrote the hook engine in plain C. 9 | -------------------------------------------------------------------------------- /Code/ThirdParty/minhook/src/hde/pstdint.h: -------------------------------------------------------------------------------- 1 | /* 2 | * MinHook - The Minimalistic API Hooking Library for x64/x86 3 | * Copyright (C) 2009-2017 Tsuda Kageyu. All rights reserved. 4 | * 5 | * Redistribution and use in source and binary forms, with or without 6 | * modification, are permitted provided that the following conditions 7 | * are met: 8 | * 9 | * 1. Redistributions of source code must retain the above copyright 10 | * notice, this list of conditions and the following disclaimer. 11 | * 2. Redistributions in binary form must reproduce the above copyright 12 | * notice, this list of conditions and the following disclaimer in the 13 | * documentation and/or other materials provided with the distribution. 14 | * 15 | * THIS SOFTWARE IS PROVIDED BY THE AUTHOR "AS IS" AND ANY EXPRESS OR 16 | * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES 17 | * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. 18 | * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, 19 | * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT 20 | * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, 21 | * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY 22 | * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 23 | * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF 24 | * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 25 | */ 26 | 27 | #pragma once 28 | 29 | #include 30 | 31 | // Integer types for HDE. 32 | typedef INT8 int8_t; 33 | typedef INT16 int16_t; 34 | typedef INT32 int32_t; 35 | typedef INT64 int64_t; 36 | typedef UINT8 uint8_t; 37 | typedef UINT16 uint16_t; 38 | typedef UINT32 uint32_t; 39 | typedef UINT64 uint64_t; 40 | -------------------------------------------------------------------------------- /Code/ThirdParty/openxr/lib/openxr_loader.lib: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fholger/crysis_vrmod/9406773fa89a3027d285adb236084bd5a7a98b45/Code/ThirdParty/openxr/lib/openxr_loader.lib -------------------------------------------------------------------------------- /Code/ThirdParty/openxr/lib/win32/openxr_loader.lib: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fholger/crysis_vrmod/9406773fa89a3027d285adb236084bd5a7a98b45/Code/ThirdParty/openxr/lib/win32/openxr_loader.lib -------------------------------------------------------------------------------- /Code/Throw.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fholger/crysis_vrmod/9406773fa89a3027d285adb236084bd5a7a98b45/Code/Throw.h -------------------------------------------------------------------------------- /Code/ThrowableWeapon.cpp: -------------------------------------------------------------------------------- 1 | /************************************************************************* 2 | Crytek Source File. 3 | Copyright (C), Crytek Studios, 2001-2007. 4 | ------------------------------------------------------------------------- 5 | $Id:$ 6 | $DateTime$ 7 | Description: Class for weapons like mines, which can be thrown 8 | ------------------------------------------------------------------------- 9 | History: 10 | - 24:1:2007 12:39 : Created by Steve Humphreys 11 | 12 | *************************************************************************/ 13 | 14 | #include "StdAfx.h" 15 | #include "ThrowableWeapon.h" 16 | 17 | //------------------------------------------------------------------------ 18 | bool CThrowableWeapon::CanSelect() const 19 | { 20 | return CWeapon::CanSelect() && !OutOfAmmo(false); 21 | } -------------------------------------------------------------------------------- /Code/ThrowableWeapon.h: -------------------------------------------------------------------------------- 1 | /************************************************************************* 2 | Crytek Source File. 3 | Copyright (C), Crytek Studios, 2001-2007. 4 | ------------------------------------------------------------------------- 5 | $Id:$ 6 | $DateTime$ 7 | Description: Class for weapons like mines, which can be thrown 8 | ------------------------------------------------------------------------- 9 | History: 10 | - 24:1:2007 12:39 : Created by Steve Humphreys 11 | 12 | *************************************************************************/ 13 | 14 | #ifndef __THROWABLEWEAPON_H__ 15 | #define __THROWABLEWEAPON_H__ 16 | 17 | #if _MSC_VER > 1000 18 | # pragma once 19 | #endif 20 | 21 | 22 | #include "Weapon.h" 23 | 24 | class CThrowableWeapon : public CWeapon 25 | { 26 | public: 27 | CThrowableWeapon() {}; 28 | virtual ~CThrowableWeapon() {}; 29 | 30 | virtual bool CanSelect() const; 31 | }; 32 | 33 | 34 | #endif // __THROWABLEWEAPON_H__ -------------------------------------------------------------------------------- /Code/TracerManager.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fholger/crysis_vrmod/9406773fa89a3027d285adb236084bd5a7a98b45/Code/TracerManager.cpp -------------------------------------------------------------------------------- /Code/TracerManager.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fholger/crysis_vrmod/9406773fa89a3027d285adb236084bd5a7a98b45/Code/TracerManager.h -------------------------------------------------------------------------------- /Code/VR/EVRHand.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | enum EVRHand 4 | { 5 | LEFT_HAND, 6 | RIGHT_HAND, 7 | WEAPON_HAND, 8 | OFF_HAND, 9 | MOVEMENT_HAND, 10 | ROTATION_HAND, 11 | }; 12 | -------------------------------------------------------------------------------- /Code/VR/HandPoses.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | struct ISkeletonPose; 4 | 5 | void ApplyHandPose(int side, ISkeletonPose* skeleton, float openToClosed); 6 | -------------------------------------------------------------------------------- /Code/VR/VRGui.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | struct ImFont; 4 | struct ID3D10Device; 5 | 6 | class VRGui 7 | { 8 | public: 9 | void Init(ID3D10Device* device); 10 | void Shutdown(); 11 | 12 | void SetScale(float scale); 13 | void ClickedNoFocus(); 14 | 15 | void Render(); 16 | 17 | private: 18 | void SetupStyle(float scale); 19 | void ReloadFonts(float scale); 20 | void Draw(); 21 | 22 | void DrawSettingsMenu(); 23 | void DrawManualWindow(); 24 | 25 | void LoadManualSections(); 26 | 27 | void CloseSettingsMenu(); 28 | 29 | ImFont* LoadFont(const char* filename, float x); 30 | 31 | float m_currentScale = 0.0f; 32 | bool m_settingsMenuOpen = false; 33 | bool m_manualWindowOpen = false; 34 | float m_vrResolutionScale = 0; 35 | 36 | ImFont* m_fontText = nullptr; 37 | ImFont* m_fontH1 = nullptr; 38 | ImFont* m_fontH2 = nullptr; 39 | ImFont* m_fontH3 = nullptr; 40 | 41 | struct ManualSection 42 | { 43 | CryStringLocal filename; 44 | CryStringLocal name; 45 | std::vector content; 46 | }; 47 | std::vector m_manualSections; 48 | int m_currentManualSection = 0; 49 | }; 50 | -------------------------------------------------------------------------------- /Code/VR/VRHaptics.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | #include "EVRHand.h" 3 | 4 | class VRHaptics 5 | { 6 | public: 7 | void Init(); 8 | void Shutdown(); 9 | 10 | void RegisterBHapticsEffect(const char* key, const char* file); 11 | 12 | void TriggerBHapticsEffect(const char* key, float intensity = 1.0f, float offsetAngleX = 0, float offsetY = 0); 13 | void TriggerBHapticsEffect(const char* key, float intensity, const Vec3& pos, const Vec3& dir); 14 | void TriggerBHapticsEffectForSide(EVRHand hand, const char* keyLeft, const char* keyRight, float intensity = 1.0f); 15 | bool IsBHapticsEffectPlaying(const char* key) const; 16 | void StopBHapticsEffect(const char* key); 17 | void TriggerProtubeEffect(float kickPower, float rumblePower, float rumbleSeconds, bool offHand = false); 18 | void TriggerProtubeEffectWeapon(float kickPower, float rumblePower, float rumbleSeconds); 19 | 20 | private: 21 | void InitEffects(); 22 | void ProtubeKick(float power, bool offHand = false); 23 | void ProtubeRumble(float power, float seconds, bool offHand = false); 24 | void ProtubeShot(float kickPower, float rumblePower, float rumbleSeconds, bool offHand = false); 25 | }; 26 | 27 | extern VRHaptics* gHaptics; 28 | -------------------------------------------------------------------------------- /Code/VehicleActionEntityAttachment.h: -------------------------------------------------------------------------------- 1 | /************************************************************************* 2 | Crytek Source File. 3 | Copyright (C), Crytek Studios, 2001-2006. 4 | ------------------------------------------------------------------------- 5 | $Id$ 6 | $DateTime$ 7 | Description: Implements a vehicle action for Entity Attachment 8 | 9 | ------------------------------------------------------------------------- 10 | History: 11 | - 07:12:2006: Created by Mathieu Pinard 12 | 13 | *************************************************************************/ 14 | #ifndef __VEHICLEACTIONENTITYATTACHMENT_H__ 15 | #define __VEHICLEACTIONENTITYATTACHMENT_H__ 16 | 17 | class CVehicleActionEntityAttachment 18 | : public IVehicleAction 19 | { 20 | IMPLEMENT_VEHICLEOBJECT; 21 | 22 | public: 23 | 24 | CVehicleActionEntityAttachment(); 25 | virtual ~CVehicleActionEntityAttachment(); 26 | 27 | // IVehicleAction 28 | virtual bool Init(IVehicle* pVehicle, const SmartScriptTable &table); 29 | virtual void Reset(); 30 | virtual void Release() { delete this; } 31 | 32 | virtual int OnEvent(int eventType, SVehicleEventParams& eventParams); 33 | void GetMemoryStatistics(ICrySizer * s) { s->Add(*this); } 34 | // ~IVehicleAction 35 | 36 | // IVehicleObject 37 | virtual void Serialize(TSerialize ser, unsigned aspects) {} 38 | virtual void Update(const float deltaTime); 39 | virtual void OnVehicleEvent(EVehicleEvent event, const SVehicleEventParams& params){} 40 | // ~IVehicleObject 41 | 42 | bool DetachEntity(); 43 | bool IsEntityAttached() { return m_isAttached; } 44 | 45 | EntityId GetAttachmentId() { return m_entityId; } 46 | 47 | protected: 48 | 49 | void SpawnEntity(); 50 | 51 | IVehicle* m_pVehicle; 52 | 53 | string m_entityClassName; 54 | IVehicleHelper* m_pHelper; 55 | 56 | EntityId m_entityId; 57 | bool m_isAttached; 58 | 59 | float m_timer; 60 | }; 61 | 62 | #endif 63 | -------------------------------------------------------------------------------- /Code/VehicleDamageBehaviorBurn.h: -------------------------------------------------------------------------------- 1 | /************************************************************************* 2 | Crytek Source File. 3 | Copyright (C), Crytek Studios, 2001-2006. 4 | ------------------------------------------------------------------------- 5 | $Id$ 6 | $DateTime$ 7 | Description: Implements a damage behavior which burn stuff 8 | 9 | ------------------------------------------------------------------------- 10 | History: 11 | - 03:28:2006: Created by Mathieu Pinard 12 | 13 | *************************************************************************/ 14 | #ifndef __VEHICLEDAMAGEBEHAVIORBURN_H__ 15 | #define __VEHICLEDAMAGEBEHAVIORBURN_H__ 16 | 17 | class CVehicle; 18 | 19 | class CVehicleDamageBehaviorBurn 20 | : public IVehicleDamageBehavior 21 | { 22 | IMPLEMENT_VEHICLEOBJECT 23 | public: 24 | 25 | CVehicleDamageBehaviorBurn() {} 26 | virtual ~CVehicleDamageBehaviorBurn(); 27 | 28 | virtual bool Init(IVehicle* pVehicle, const SmartScriptTable &table); 29 | virtual void Reset(); 30 | virtual void Release() { delete this; } 31 | 32 | virtual void OnDamageEvent(EVehicleDamageBehaviorEvent event, const SVehicleDamageBehaviorEventParams& behaviorParams); 33 | 34 | virtual void Serialize(TSerialize ser, unsigned aspects); 35 | virtual void Update(const float deltaTime); 36 | virtual void OnVehicleEvent(EVehicleEvent event, const SVehicleEventParams& params); 37 | 38 | virtual void GetMemoryStatistics(ICrySizer * s) { s->Add(*this); } 39 | 40 | protected: 41 | 42 | void Activate(bool activate); 43 | 44 | IVehicle* m_pVehicle; 45 | IVehicleHelper* m_pHelper; 46 | 47 | float m_damageRatioMin; 48 | float m_damage; 49 | float m_selfDamage; 50 | float m_interval; 51 | float m_radius; 52 | 53 | bool m_isActive; 54 | float m_timeCounter; 55 | 56 | EntityId m_shooterId; 57 | int m_timerId; 58 | }; 59 | 60 | #endif 61 | -------------------------------------------------------------------------------- /Code/VehicleDamageBehaviorCameraShake.h: -------------------------------------------------------------------------------- 1 | /************************************************************************* 2 | Crytek Source File. 3 | Copyright (C), Crytek Studios, 2001-2007. 4 | ------------------------------------------------------------------------- 5 | $Id$ 6 | $DateTime$ 7 | Description: Implements a damage behavior which gives camera shake to the 8 | player 9 | 10 | ------------------------------------------------------------------------- 11 | History: 12 | - 31:07:2007: Created by Mathieu Pinard 13 | 14 | *************************************************************************/ 15 | #ifndef __VEHICLEDAMAGEBEHAVIORCAMERASHAKE_H__ 16 | #define __VEHICLEDAMAGEBEHAVIORCAMERASHAKE_H__ 17 | 18 | class CVehicle; 19 | 20 | class CVehicleDamageBehaviorCameraShake 21 | : public IVehicleDamageBehavior 22 | { 23 | IMPLEMENT_VEHICLEOBJECT 24 | public: 25 | 26 | CVehicleDamageBehaviorCameraShake(); 27 | virtual ~CVehicleDamageBehaviorCameraShake(); 28 | 29 | virtual bool Init(IVehicle* pVehicle, const SmartScriptTable &table); 30 | virtual void Reset(); 31 | virtual void Release() { delete this; } 32 | 33 | virtual void OnDamageEvent(EVehicleDamageBehaviorEvent event, const SVehicleDamageBehaviorEventParams& behaviorParams); 34 | 35 | virtual void Serialize(TSerialize ser, unsigned aspects) {} 36 | virtual void Update(const float deltaTime) {} 37 | virtual void OnVehicleEvent(EVehicleEvent event, const SVehicleEventParams& params); 38 | 39 | virtual void GetMemoryStatistics(ICrySizer * s) { s->Add(*this); } 40 | 41 | protected: 42 | 43 | void ShakeClient(float angle, float shift, float duration, float frequency); 44 | 45 | IVehicle* m_pVehicle; 46 | float m_damageMult; 47 | }; 48 | 49 | #endif 50 | -------------------------------------------------------------------------------- /Code/VehicleDamageBehaviorCollisionEx.h: -------------------------------------------------------------------------------- 1 | /************************************************************************* 2 | Crytek Source File. 3 | Copyright (C), Crytek Studios, 2001-2007. 4 | ------------------------------------------------------------------------- 5 | $Id$ 6 | $DateTime$ 7 | Description: Implements a damage behavior which improves collision damages 8 | 9 | ------------------------------------------------------------------------- 10 | History: 11 | - 06:10:2007: Created by Mathieu Pinard 12 | 13 | *************************************************************************/ 14 | #ifndef __VEHICLEDAMAGEBEHAVIORCOLLISIONEX_H__ 15 | #define __VEHICLEDAMAGEBEHAVIORCOLLISIONEX_H__ 16 | 17 | class CVehicle; 18 | 19 | class CVehicleDamageBehaviorCollisionEx 20 | : public IVehicleDamageBehavior 21 | { 22 | IMPLEMENT_VEHICLEOBJECT 23 | public: 24 | 25 | CVehicleDamageBehaviorCollisionEx() {} 26 | virtual ~CVehicleDamageBehaviorCollisionEx(); 27 | 28 | virtual bool Init(IVehicle* pVehicle, const SmartScriptTable &table); 29 | virtual void Reset() {} 30 | virtual void Release() { delete this; } 31 | 32 | virtual void OnDamageEvent(EVehicleDamageBehaviorEvent event, const SVehicleDamageBehaviorEventParams& behaviorParams) {} 33 | 34 | virtual void Serialize(TSerialize ser, unsigned aspects) {} 35 | virtual void Update(const float deltaTime) {} 36 | virtual void OnVehicleEvent(EVehicleEvent event, const SVehicleEventParams& params); 37 | 38 | virtual void GetMemoryStatistics(ICrySizer * s) { s->Add(*this); } 39 | 40 | protected: 41 | 42 | IVehicle* m_pVehicle; 43 | 44 | string m_componentName; 45 | float m_damages; 46 | }; 47 | 48 | #endif 49 | -------------------------------------------------------------------------------- /Code/VehicleDamageBehaviorExplosion.h: -------------------------------------------------------------------------------- 1 | /************************************************************************* 2 | Crytek Source File. 3 | Copyright (C), Crytek Studios, 2001-2006. 4 | ------------------------------------------------------------------------- 5 | $Id$ 6 | $DateTime$ 7 | Description: Implements a damage behavior which create an explosion 8 | 9 | ------------------------------------------------------------------------- 10 | History: 11 | - 03:28:2006: Created by Mathieu Pinard 12 | 13 | *************************************************************************/ 14 | #ifndef __VEHICLEDAMAGEBEHAVIOREXPLOSION_H__ 15 | #define __VEHICLEDAMAGEBEHAVIOREXPLOSION_H__ 16 | 17 | class CVehicle; 18 | 19 | class CVehicleDamageBehaviorExplosion 20 | : public IVehicleDamageBehavior 21 | { 22 | IMPLEMENT_VEHICLEOBJECT 23 | public: 24 | 25 | CVehicleDamageBehaviorExplosion() {} 26 | virtual ~CVehicleDamageBehaviorExplosion() {} 27 | 28 | virtual bool Init(IVehicle* pVehicle, const SmartScriptTable &table); 29 | virtual void Reset(); 30 | virtual void Release() { delete this; } 31 | 32 | virtual void OnDamageEvent(EVehicleDamageBehaviorEvent event, const SVehicleDamageBehaviorEventParams& behaviorParams); 33 | 34 | virtual void Serialize(TSerialize ser, unsigned aspects); 35 | virtual void Update(const float deltaTime) {} 36 | virtual void OnVehicleEvent(EVehicleEvent event, const SVehicleEventParams& params){} 37 | 38 | virtual void GetMemoryStatistics(ICrySizer * s) { s->Add(*this); } 39 | 40 | protected: 41 | 42 | IVehicle* m_pVehicle; 43 | 44 | float m_damage; 45 | float m_minRadius; 46 | float m_radius; 47 | float m_minPhysRadius; 48 | float m_physRadius; 49 | float m_pressure; 50 | IVehicleHelper* m_pHelper; 51 | 52 | bool m_exploded; 53 | }; 54 | 55 | #endif 56 | -------------------------------------------------------------------------------- /Code/VehicleDamageBehaviorTire.h: -------------------------------------------------------------------------------- 1 | /************************************************************************* 2 | Crytek Source File. 3 | Copyright (C), Crytek Studios, 2001-2006. 4 | ------------------------------------------------------------------------- 5 | $Id$ 6 | $DateTime$ 7 | Description: Implements a damage behavior which Tire stuff 8 | 9 | ------------------------------------------------------------------------- 10 | History: 11 | - 03:28:2006: Created by Mathieu Pinard 12 | 13 | *************************************************************************/ 14 | #ifndef __VEHICLEDAMAGEBEHAVIORTIRE_H__ 15 | #define __VEHICLEDAMAGEBEHAVIORTIRE_H__ 16 | 17 | class CVehicle; 18 | 19 | class CVehicleDamageBehaviorBlowTire 20 | : public IVehicleDamageBehavior 21 | { 22 | IMPLEMENT_VEHICLEOBJECT 23 | public: 24 | 25 | CVehicleDamageBehaviorBlowTire() {} 26 | virtual ~CVehicleDamageBehaviorBlowTire() {} 27 | 28 | virtual bool Init(IVehicle* pVehicle, const SmartScriptTable &table); 29 | virtual void Reset(); 30 | virtual void Release() { delete this; } 31 | 32 | virtual void OnDamageEvent(EVehicleDamageBehaviorEvent event, const SVehicleDamageBehaviorEventParams& behaviorParams); 33 | 34 | virtual void Serialize(TSerialize ser, unsigned aspects); 35 | virtual void Update(const float deltaTime); 36 | virtual void OnVehicleEvent(EVehicleEvent event, const SVehicleEventParams& params); 37 | 38 | virtual void GetMemoryStatistics(ICrySizer * s); 39 | 40 | protected: 41 | void Activate(bool activate); 42 | void DamagePlayers(); 43 | 44 | IVehicle* m_pVehicle; 45 | 46 | bool m_isActive; 47 | string m_component; 48 | 49 | int m_aiImmobilizedTimer; 50 | }; 51 | 52 | #endif 53 | -------------------------------------------------------------------------------- /Code/VehicleWeapon.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fholger/crysis_vrmod/9406773fa89a3027d285adb236084bd5a7a98b45/Code/VehicleWeapon.cpp -------------------------------------------------------------------------------- /Code/VehicleWeapon.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fholger/crysis_vrmod/9406773fa89a3027d285adb236084bd5a7a98b45/Code/VehicleWeapon.h -------------------------------------------------------------------------------- /Code/WeaponClientServer.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fholger/crysis_vrmod/9406773fa89a3027d285adb236084bd5a7a98b45/Code/WeaponClientServer.cpp -------------------------------------------------------------------------------- /Code/WeaponEvent.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fholger/crysis_vrmod/9406773fa89a3027d285adb236084bd5a7a98b45/Code/WeaponEvent.cpp -------------------------------------------------------------------------------- /Code/WeaponSystem.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fholger/crysis_vrmod/9406773fa89a3027d285adb236084bd5a7a98b45/Code/WeaponSystem.cpp -------------------------------------------------------------------------------- /Code/WeaponSystem.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fholger/crysis_vrmod/9406773fa89a3027d285adb236084bd5a7a98b45/Code/WeaponSystem.h -------------------------------------------------------------------------------- /Code/WorkOnTarget.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fholger/crysis_vrmod/9406773fa89a3027d285adb236084bd5a7a98b45/Code/WorkOnTarget.cpp -------------------------------------------------------------------------------- /Code/WorkOnTarget.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fholger/crysis_vrmod/9406773fa89a3027d285adb236084bd5a7a98b45/Code/WorkOnTarget.h -------------------------------------------------------------------------------- /Game/Config/CVarGroups/sys_spec_MotionBlur.cfg: -------------------------------------------------------------------------------- 1 | [default] 2 | ; default of this CVarGroup 3 | = 4 4 | 5 | r_MotionBlur=0 6 | 7 | [1] 8 | r_MotionBlur=0 9 | 10 | [2] 11 | r_MotionBlur=0 12 | 13 | [3] 14 | r_MotionBlur=0 15 | -------------------------------------------------------------------------------- /Game/Config/CVarGroups/sys_spec_PostProcessing.cfg: -------------------------------------------------------------------------------- 1 | [default] 2 | ; default of this CVarGroup 3 | = 4 4 | 5 | r_DepthOfField=0 6 | r_MotionBlur=0 7 | r_sunshafts=1 8 | r_UseEdgeAA=0 9 | r_Flares=1 10 | r_Coronas=1 11 | r_colorgrading=1 12 | r_GlowScreenMultiplier = 0.2 13 | 14 | [1] 15 | r_DepthOfField=0 16 | r_MotionBlur=0 17 | r_Flares=1 18 | r_Coronas=1 19 | r_UseEdgeAA=0 20 | r_sunshafts=0 21 | r_colorgrading=0 22 | r_GlowScreenMultiplier = 0.2 23 | 24 | [2] 25 | r_DepthOfField=0 26 | r_sunshafts=0 27 | r_MotionBlur=0 28 | r_UseEdgeAA=0 29 | r_GlowScreenMultiplier = 0.2 30 | 31 | [3] 32 | r_DepthOfField=0 33 | r_sunshafts=0 34 | r_MotionBlur=0 35 | r_colorgrading=0 36 | r_GlowScreenMultiplier = 0.2 -------------------------------------------------------------------------------- /Game/Manual/01_About.md: -------------------------------------------------------------------------------- 1 | # About Crysis VR 2 | 3 | This mod allows you to experience Crysis as a full 6dof motion-controlled VR game. It was created by Holger "cabalistic" Frydrych with the help of the Crysis Mod SDK. 4 | For more information, visit the [website](https://crysis.vrmods.eu) or check out the [GitHub repository](https://github.com/fholger/crysis_vrmod). 5 | 6 | *SAVE OFTEN!* 7 | The mod might crash at any time, so better be safe than sorry :) There is a quick save button added in the ingame menu you can use. 8 | 9 | Also, *do not enable FSAA*. In my experience, this makes the VR mod very unstable and prone to crash. You are better off increasing the rendering resolution, instead. 10 | 11 | The mod is and forever will be free to download and play. If you paid for getting access, you were scammed. 12 | That being said, if you enjoyed your playtime in VR and would like to say thank you, you can leave me a tip on [Ko-Fi](https://ko-fi.com/fholger). 13 | 14 | This work is not endorsed by or affiliated with Crytek or Electronic Arts. Trademarks are the property of their respective owners. Game content copyright Crytek. 15 | 16 | ## Notes about performance 17 | 18 | This mod is unfortunately very CPU-bottlenecked, and there is little I can do about it. Expect that you will encounter reprojection even with a very powerful CPU. 19 | 20 | Furthermore, whenever the game switches framerates, you may experience movement to become unsmooth. Therefore, you may want to enable forced reprojection at 45 or 60 fps to get an overall smoother experience while playing. 21 | -------------------------------------------------------------------------------- /Game/Manual/02_General_Controls.md: -------------------------------------------------------------------------------- 1 | # General controls 2 | 3 | ## Hand assignment 4 | By default, the right hand is your weapon hand which holds and fires your guns, while the left hand is your off hand used for auxiliary actions. You can swap this assignment in the VR settings menu. 5 | 6 | ## Movement 7 | Use the left thumbstick to move around. Press the thumbstick to toggle sprint - it will remain active until you press the stick again or return it to the center position. You can also physically walk in your play space. 8 | 9 | Move the right thumbstick left or right to turn around. To jump, move the right thumbstick up. To crouch, move the right thumbstick down. You will remain crouched until you move the thumbstick upwards. To toggle between crouched and prone, move the thumbstick down again. 10 | 11 | You can swap the functions of the left and right thumbstick by changing the movement hand in the VR settings menu. 12 | 13 | ## Interacting with the world 14 | When you look at something you can interact with, the center of your HUD should indicate what action you can perform. Press your off hand trigger to perform the interaction. 15 | You can also pick up weapons and ammo dropped by your enemies with your off hand by pressing Trigger or Grip. 16 | 17 | ## Activating nightvision 18 | Bring your off hand close to your head, then press trigger to toggle nightvision. 19 | 20 | ## Using the binoculars 21 | Press and hold your off hand's A/X button to bring up your binoculars. While active, the VR world will stop rendering, and instead the binoculars will be shown attached to your off hand. You can move your hand around and turn physically or with the right thumbstick to look around. Push the right thumbstick up or down to zoom in or out. 22 | 23 | ## Menu and objectives 24 | Pressing the off hand's B/Y button brings up the game's menu. If you instead hold the button down, you will see an overview of your current objectives and the map of the island. 25 | -------------------------------------------------------------------------------- /Game/Manual/04_Suit_Functions.md: -------------------------------------------------------------------------------- 1 | # Suit functions 2 | 3 | Your nanosuit features a number of enhancements you can activate depending on the needs of the situation. 4 | 5 | To access the nanosuit functions, press and hold the right thumbstick / trackpad (or the left, if you swapped the movement hand). This will open the suit menu in the HUD in front of you. Now move your weapon hand up, down, left or right to select the desired nanosuit mode, then let go of the thumbstick / trackpad. 6 | 7 | Short press the right thumbstick / trackpad to instantly return to Armor mode. 8 | 9 | ## Weapon accessories 10 | The bottom left tile of the suit menu brings up the weapon accessories menu where you can modify the loadout of your weapon. Here, you can for example swap out the weapon sights, attach a laser pointer or flash light and potentially select the ammo type. Press the right thumbstick / trackpad again to close the weapon menu. 11 | -------------------------------------------------------------------------------- /Game/Manual/05_Vehicles.md: -------------------------------------------------------------------------------- 1 | # Vehicles 2 | 3 | Crysis features a variety of vehicles that you can control. 4 | 5 | *Note*: the vehicle controls are not the most amazing in the world, and there is little in the way of comfort options for the rides. But a lot of the time, riding the vehicles is optional, so if you find them too uncomfortable or awkward, just proceed on foot. For the parts that you do need to be in a vehicle, you can enable the option to experience them in a 2D cinema view instead of full VR in the VR Settings. 6 | 7 | ## Entering and exiting vehicles 8 | Approach the vehicle and, while looking at it, press the off hand trigger to enter the vehicle. To leave again, press your left hand's A/X button. 9 | 10 | ## Driving the vehicle 11 | Use the left thumbstick to drive the vehicle. Forward/back controls your engine, while left/right steers. Left Grip can be used for a speed boost. 12 | 13 | ## Changing seats and camera mode 14 | Press the right B/Y button to cycle through the available seats on the vehicle. Hold that button to switch between first person and third person camera. 15 | 16 | ## Firing guns 17 | Use the right stick to aim, then press right trigger to fire your primary weapon. If the vehicle has a secondary weapon, it can be fired with the left trigger. 18 | 19 | ## VTOL controls 20 | The left stick controls strafe movement in forward, backward, left and right direction, while the right stick controls pitch and yaw. Additionally, the right A button can be used to ascend vertically. Left Grip can be used for a speed boost. 21 | 22 | ## Recalibrate view 23 | If you need to recalibrate your view position and height (e.g. because you want to sit down when driving vehicles), quickly hop into the menu and back into the game. This will trigger a view recalibration. 24 | -------------------------------------------------------------------------------- /Game/fonts/DroidSans.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fholger/crysis_vrmod/9406773fa89a3027d285adb236084bd5a7a98b45/Game/fonts/DroidSans.ttf -------------------------------------------------------------------------------- /Game/fonts/Karla-Regular.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fholger/crysis_vrmod/9406773fa89a3027d285adb236084bd5a7a98b45/Game/fonts/Karla-Regular.ttf -------------------------------------------------------------------------------- /Game/fonts/Roboto-Medium.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fholger/crysis_vrmod/9406773fa89a3027d285adb236084bd5a7a98b45/Game/fonts/Roboto-Medium.ttf -------------------------------------------------------------------------------- /Installer/Crysis_101.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fholger/crysis_vrmod/9406773fa89a3027d285adb236084bd5a7a98b45/Installer/Crysis_101.ico -------------------------------------------------------------------------------- /Installer/create_installer.bat: -------------------------------------------------------------------------------- 1 | set CURRENT_DIR=%~dp0 2 | set PACKAGE_DIR=%CURRENT_DIR%\assembly 3 | if exist %PACKAGE_DIR% (rmdir /S /Q %PACKAGE_DIR%) 4 | 5 | mkdir %PACKAGE_DIR%\Bin64 6 | mkdir %PACKAGE_DIR%\Bin32 7 | 8 | set CRYSIS_INSTALL_DIR=%PACKAGE_DIR% 9 | call %CURRENT_DIR%\..\install.bat 10 | call %CURRENT_DIR%\..\install32.bat 11 | call "C:\Program Files (x86)\NSIS\makensis.exe" crysis.nsi 12 | -------------------------------------------------------------------------------- /Installer/crysisvr_logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fholger/crysis_vrmod/9406773fa89a3027d285adb236084bd5a7a98b45/Installer/crysisvr_logo.png -------------------------------------------------------------------------------- /Installer/header.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fholger/crysis_vrmod/9406773fa89a3027d285adb236084bd5a7a98b45/Installer/header.bmp -------------------------------------------------------------------------------- /Installer/welcome.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fholger/crysis_vrmod/9406773fa89a3027d285adb236084bd5a7a98b45/Installer/welcome.bmp -------------------------------------------------------------------------------- /info.xml: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /install.bat: -------------------------------------------------------------------------------- 1 | @echo off 2 | setlocal EnableDelayedExpansion 3 | 4 | if "%CRYSIS_INSTALL_DIR%"=="" (goto err_missing_env) 5 | 6 | set SOURCE_DIR=%~dp0 7 | set VRMOD_INSTALL_DIR=%CRYSIS_INSTALL_DIR%\Mods\VRMod 8 | if not exist %VRMOD_INSTALL_DIR%\Bin64 (mkdir %VRMOD_INSTALL_DIR%\Bin64) 9 | 10 | xcopy /i /y %SOURCE_DIR%\*.xml %VRMOD_INSTALL_DIR% 11 | xcopy /y %SOURCE_DIR%\Bin64\VRMod.dll %VRMOD_INSTALL_DIR%\Bin64 12 | xcopy /y %SOURCE_DIR%\Bin64\CrysisVR.exe %CRYSIS_INSTALL_DIR%\Bin64 13 | xcopy /y %SOURCE_DIR%\Code\ThirdParty\bhaptics\bin\win64\haptic_library.dll %CRYSIS_INSTALL_DIR%\Bin64 14 | xcopy /y %SOURCE_DIR%\Code\ThirdParty\ForceTubeVR\bin\ForceTubeVR_API_x64.dll %CRYSIS_INSTALL_DIR%\Bin64 15 | xcopy /i /s /y %SOURCE_DIR%\Game %VRMOD_INSTALL_DIR%\Game 16 | xcopy /y %SOURCE_DIR%\README.md %VRMOD_INSTALL_DIR% 17 | xcopy /y %SOURCE_DIR%\LICENSE.txt %VRMOD_INSTALL_DIR% 18 | 19 | goto eof 20 | 21 | :err_missing_env 22 | echo CRYSIS_INSTALL_DIR was not set, aborting 23 | exit 1 24 | 25 | :eof 26 | -------------------------------------------------------------------------------- /install32.bat: -------------------------------------------------------------------------------- 1 | @echo off 2 | setlocal EnableDelayedExpansion 3 | 4 | if "%CRYSIS_INSTALL_DIR%"=="" (goto err_missing_env) 5 | 6 | set SOURCE_DIR=%~dp0 7 | set VRMOD_INSTALL_DIR=%CRYSIS_INSTALL_DIR%\Mods\VRMod 8 | if not exist %VRMOD_INSTALL_DIR%\Bin32 (mkdir %VRMOD_INSTALL_DIR%\Bin32) 9 | 10 | xcopy /i /y %SOURCE_DIR%\*.xml %VRMOD_INSTALL_DIR% 11 | xcopy /y %SOURCE_DIR%\Bin32\VRMod.dll %VRMOD_INSTALL_DIR%\Bin32 12 | xcopy /y %SOURCE_DIR%\Bin32\CrysisVR.exe %CRYSIS_INSTALL_DIR%\Bin32 13 | xcopy /y %SOURCE_DIR%\Code\ThirdParty\bhaptics\bin\win32\haptic_library.dll %CRYSIS_INSTALL_DIR%\Bin32 14 | xcopy /y %SOURCE_DIR%\Code\ThirdParty\ForceTubeVR\bin\ForceTubeVR_API_x32.dll %CRYSIS_INSTALL_DIR%\Bin32 15 | xcopy /i /s /y %SOURCE_DIR%\Game %VRMOD_INSTALL_DIR%\Game 16 | xcopy /y %SOURCE_DIR%\README.md %VRMOD_INSTALL_DIR% 17 | xcopy /y %SOURCE_DIR%\LICENSE.txt %VRMOD_INSTALL_DIR% 18 | 19 | goto eof 20 | 21 | :err_missing_env 22 | echo CRYSIS_INSTALL_DIR was not set, aborting 23 | exit 1 24 | 25 | :eof 26 | -------------------------------------------------------------------------------- /settings.xml: -------------------------------------------------------------------------------- 1 | 2 | --------------------------------------------------------------------------------