Forum Discussion
BenNadler
12 years agoHonored Guest
UDK specific files
Hello,
I'm trying to figure out which files are adjusted for the Oculus Rift version of UDK. The documentation mentions the files Stereo3D.uc and Oculus.uc are added, and that some code in PlayerController.uc is adjusted. Besides this, what other files are adjusted / different in comparison with a regular UDK branch?
I'm looking to move the Oculus code over to the newest release of the UDK branch that I have already been building off of. I can't downgrade because the older UDK version won't open .upk and .udk files from a newer version of the SDK.
Obviously with hundreds of different files in the src folder, I can't compare each one to check for differences. So if a list of adjusted files could be posted, that way I could know what I need to transfer. Thanks.
I'm trying to figure out which files are adjusted for the Oculus Rift version of UDK. The documentation mentions the files Stereo3D.uc and Oculus.uc are added, and that some code in PlayerController.uc is adjusted. Besides this, what other files are adjusted / different in comparison with a regular UDK branch?
I'm looking to move the Oculus code over to the newest release of the UDK branch that I have already been building off of. I can't downgrade because the older UDK version won't open .upk and .udk files from a newer version of the SDK.
Obviously with hundreds of different files in the src folder, I can't compare each one to check for differences. So if a list of adjusted files could be posted, that way I could know what I need to transfer. Thanks.
9 Replies
Replies have been turned off for this discussion
- OlivierJTExplorerEdited post.
Ok, i wonder why I was trying to give you some advice...in relation to your question, my bad. Won't do it again.
Good luck. - BenNadlerHonored GuestMy question was regarding moving those files to the main version, I don't want to use the Oculus branch. The branched version is just made up of slightly different files. Most of the code can be moved over to a regular UDK installation, which is what I am doing, but it's a frustrating process when I need to basically compare thousands of lines of code to each other. Luckily Notepad ++ makes this easier but it still isn't much fun.
Theoretically the code builds, but I don't have an Oculus to test it since my arrives in August. - gilliesauHonored Guestwhen you say "udk branch" do you mean a later released version or are you talking about a source licence?
the eaisest way i would imagine would be so search everything for the string oculus, but the Oculus class is native. How do you plan on bringing that into another version of the UDK? - BenNadlerHonored Guest
"gilliesau" wrote:
when you say "udk branch" do you mean a later released version or are you talking about a source licence?
the eaisest way i would imagine would be so search everything for the string oculus, but the Oculus class is native. How do you plan on bringing that into another version of the UDK?
I mean a later released version. I would consider the Oculus version of UDK to be a separate branch than the regular releases.
For example - you have the regular UDK (almost) monthly releases. That would be the main branch. The Oculus UDK represents a different branch.
I'm trying to integrate the Oculus code into the main branch. As far as I can tell, the only differences between the Oculus version and the regular branch are some Unrealscript and config file changes.
In terms of the Oculus class being native, I'm not sure I follow. I've copied the Oculus.uc file into my Engine folder and with some other changes, it builds properly. As I said, I don't have my Oculus yet so I can't test it, however. - BenNadlerHonored Guest
"OlivierJT" wrote:
Edited post.
Ok, i wonder why I was trying to give you some advice...in relation to your question, my bad. Won't do it again.
Good luck.
We're both after the same things. You were mentioning how the Oculus UDK is broken. It definitely is. That's why I want to transfer the files to a regular build of UDK.
I don't understand why Oculus releases the full kit, instead of just giving us the files to modify and letting us copy/paste them into a regular UDK directory. - roberthamiltonHonored GuestHere's a quick diff I did of the Oculus 2013-03 Development directory and my 2013-02 UDK:
diff -r ./2013-02/Development/Src/Engine/Classes/Camera.uc ./UDK-2013-03-Oculus/Development/Src/Engine/Classes/Camera.uc
958a959,968
> // Oculus
> /**
> * Determine if the camera is animating, and therefore head look needs to be handled differently.
> */
> function bool IsAnimActive()
> {
> return (CameraActor(ViewTarget.Target) != None || ActiveAnims.Length > 0);
> }
>
>
diff -r ./2013-02/Development/Src/Engine/Classes/Canvas.uc ./UDK-2013-03-Oculus/Development/Src/Engine/Classes/Canvas.uc
175a176
> var matrix ViewProjectionMatrix;
257a259
> void SetView(FSceneView* View);
diff -r ./2013-02/Development/Src/Engine/Classes/CheatManager.uc ./UDK-2013-03-Oculus/Development/Src/Engine/Classes/CheatManager.uc
272a273,296
> exec function SetAllSpeed(float f)
> {
> local Pawn P;
> WorldInfo.Game.MoveSpeedFactor = f;
> ForEach DynamicActors(class'Pawn', P)
> {
> P.GroundSpeed = WorldInfo.Game.MoveSpeedFactor * P.Class.Default.GroundSpeed;
> P.WaterSpeed = WorldInfo.Game.MoveSpeedFactor * P.Class.Default.WaterSpeed;
> P.AirSpeed = WorldInfo.Game.MoveSpeedFactor * P.Class.Default.AirSpeed;
> }
> }
>
> exec function SetJumpSpeed(float f)
> {
> WorldInfo.Game.JumpSpeedFactor = f;
> Pawn.JumpZ = Pawn.Default.JumpZ * f;
> if (Pawn.JumpZ < 1)
> {
> Pawn.bCanJump = false;
> Pawn.bJumpCapable = false;
> }
> }
>
>
diff -r ./2013-02/Development/Src/Engine/Classes/Console.uc ./UDK-2013-03-Oculus/Development/Src/Engine/Classes/Console.uc
710a711,717
> if (class'Oculus'.Static.IsEnabled())
> {
> ClipX -= 150;
> ClipY = ClipY * 0.60;
> LeftPos = 150;
> }
>
1082a1090,1091
> local float LeftPos;
> local float Width;
1083a1093,1094
> LeftPos = 0;
> Width = Canvas.ClipX;
1091a1103,1109
> if (class'Oculus'.Static.IsEnabled())
> {
> Width -= 150;
> Height = Canvas.ClipY * 0.60;
> LeftPos = 150;
> }
>
1096c1114
< Canvas.SetPos(0,0);
---
> Canvas.SetPos(LeftPos,0);
1099c1117
< Canvas.DrawTile( DefaultTexture_Black, Canvas.ClipX, Height,0,0,32,32);
---
> Canvas.DrawTile( DefaultTexture_Black, Width, Height,0,0,32,32);
1108c1126
< Canvas.SetPos(0,Height-12-yl);
---
> Canvas.SetPos(LeftPos,Height-12-yl);
1114c1132
< Canvas.DrawTile( DefaultTexture_White, Canvas.ClipX, 2,0,0,32,32);
---
> Canvas.DrawTile( DefaultTexture_White, Width, 2,0,0,32,32);
1117c1135
< Canvas.SetPos(0,Height);
---
> Canvas.SetPos(LeftPos,Height);
1120c1138
< Canvas.DrawTile( DefaultTexture_White, Canvas.ClipX, 2,0,0,32,32);
---
> Canvas.DrawTile( DefaultTexture_White, Width, 2,0,0,32,32);
1123c1141
< Canvas.SetPos(0,Height-5-yl);
---
> Canvas.SetPos(LeftPos,Height-5-yl);
1134c1152
< Canvas.SetPos(0+xl,Height-5-yl);
---
> Canvas.SetPos(LeftPos+xl,Height-5-yl);
1143c1161
< Canvas.SetPos(0 + xl, y);
---
> Canvas.SetPos(LeftPos + xl, y);
1147c1165
< Canvas.SetPos(0 + xl, y);
---
> Canvas.SetPos(LeftPos + xl, y);
1158c1176
< Canvas.SetPos(xl,Height-3-yl);
---
> Canvas.SetPos(LeftPos+xl,Height-3-yl);
1177c1195
< Canvas.SetPos(0, y);
---
> Canvas.SetPos(LeftPos, y);
1184c1202
< Canvas.SetPos(Canvas.CurX, y, Canvas.CurZ);
---
> Canvas.SetPos(LeftPos+Canvas.CurX, y, Canvas.CurZ);
diff -r ./2013-02/Development/Src/Engine/Classes/Engine.uc ./UDK-2013-03-Oculus/Development/Src/Engine/Classes/Engine.uc
1035a1036,1051
> * Returns whether any stereo 3d that involves multiple views is enabled (including reald)
> */
> native static final function bool IsAnyStereo3DEnabled();
>
> /**
> * Returns whether a stereo split buffer must be used, whether or not the actual stereo
> * effects are enabled. For example, when a VR headset is being used with stereo disabled.
> */
> native static final function bool IsStereoBuffer();
>
> /**
> * Returns whether to use first view for both views visible primitives.
> */
> native static final function bool VisibilityTestBothViews();
>
> /**
diff -r ./2013-02/Development/Src/Engine/Classes/GameInfo.uc ./UDK-2013-03-Oculus/Development/Src/Engine/Classes/GameInfo.uc
91a92,93
> var globalconfig float MoveSpeedFactor;
> var globalconfig float JumpSpeedFactor;
2077,2079c2079,2081
< PlayerPawn.GroundSpeed = PlayerPawn.Default.GroundSpeed;
< PlayerPawn.WaterSpeed = PlayerPawn.Default.WaterSpeed;
< PlayerPawn.AirSpeed = PlayerPawn.Default.AirSpeed;
---
> PlayerPawn.GroundSpeed = MoveSpeedFactor * PlayerPawn.Default.GroundSpeed;
> PlayerPawn.WaterSpeed = MoveSpeedFactor * PlayerPawn.Default.WaterSpeed;
> PlayerPawn.AirSpeed = MoveSpeedFactor * PlayerPawn.Default.AirSpeed;
diff -r ./2013-02/Development/Src/Engine/Classes/HUD.uc ./UDK-2013-03-Oculus/Development/Src/Engine/Classes/HUD.uc
24a25
> var bool bShowHUDSetting; // Is the hud visible, only ToggleHUD changes this
212c213,214
< bShowHUD = !bShowHUD;
---
> `log("thud" @ bShowHudSetting @ bShowHud);
> bShowHudSetting = !bShowHudSetting;
217c219
< ToggleHUD();
---
> bShowHud = !bShowHud;
458c460
< else if ( bShowHud )
---
> else if ( bShowHud && bShowHudSetting )
993a996
> bShowHUDSetting=true
diff -r ./2013-02/Development/Src/Engine/Classes/Interaction.uc ./UDK-2013-03-Oculus/Development/Src/Engine/Classes/Interaction.uc
114d113
<
diff -r ./2013-02/Development/Src/Engine/Classes/LocalPlayer.uc ./UDK-2013-03-Oculus/Development/Src/Engine/Classes/LocalPlayer.uc
159,160c159,160
< #if WITH_REALD
< FSceneView* CalcSceneViewOffs( FSceneViewFamily* ViewFamily, FVector& ViewLocation, FRotator& ViewRotation, FViewport* Viewport, FMatrix* Offset=NULL, FViewElementDrawer* ViewDrawer=NULL );
---
> #if WITH_STEREO
> FSceneView* CalcSceneViewOffs( FSceneViewFamily* ViewFamily, FVector& ViewLocation, FRotator& ViewRotation, FViewport* Viewport, FMatrix* Offset=NULL, FViewElementDrawer* ViewDrawer=NULL, INT StereoDisplay = 0 );
Only in ./UDK-2013-03-Oculus/Development/Src/Engine/Classes: Oculus.uc
diff -r ./2013-02/Development/Src/Engine/Classes/Pawn.uc ./UDK-2013-03-Oculus/Development/Src/Engine/Classes/Pawn.uc
1022a1023,1024
> local Oculus OC;
>
1026a1029,1032
>
> OC = class'Oculus'.static.GetGlobals();
> if (OC != None && OC.IsPlayer(Controller))
> BaseEyeHeight += OC.AddEyeHeight;
1785a1792
> local PlayerController PC;
1791a1799,1804
>
> // Oculus
> PC = PlayerController(Controller);
> if (PC != None)
> POVRot += PC.MouseAim;
>
2221a2235
> local Oculus OC;
2225a2240,2243
>
> OC = class'Oculus'.static.GetGlobals();
> if (OC != None && OC.IsPlayer(Controller))
> BaseEyeHeight += OC.AddEyeHeight;
2227a2246,2250
> GroundSpeed = WorldInfo.Game.MoveSpeedFactor * Default.GroundSpeed;
> WaterSpeed = WorldInfo.Game.MoveSpeedFactor * Default.WaterSpeed;
> AirSpeed = WorldInfo.Game.MoveSpeedFactor * Default.AirSpeed;
> JumpZ = WorldInfo.Game.JumpSpeedFactor * Default.JumpZ;
>
2507c2530
< if (Physics == PHYS_Walking && damageType.default.bExtraMomentumZ)
---
> if (class'Oculus'.static.DisableMomentum(Controller))
2509c2532,2545
< momentum.Z = FMax(momentum.Z, 0.4 * VSize(momentum));
---
> momentum.X = 0;
> momentum.Y = 0;
> momentum.Z = 0;
>
> // DisableMomentum checks IsPlayer
> class'Oculus'.static.GetGlobals().PlayDamageEffect(PlayerController(Controller));
> }
> else
> {
> if (Physics == PHYS_Walking && damageType.default.bExtraMomentumZ)
> {
> momentum.Z = FMax(momentum.Z, 0.4 * VSize(momentum));
> }
> momentum = momentum/Mass;
2511d2546
< momentum = momentum/Mass;
diff -r ./2013-02/Development/Src/Engine/Classes/PlayerController.uc ./UDK-2013-03-Oculus/Development/Src/Engine/Classes/PlayerController.uc
15c15
< dependson(OnlineSubsystem,OnlineGameSearch,SeqAct_ControlMovieTexture);
---
> dependson(OnlineSubsystem,OnlineGameSearch,SeqAct_ControlMovieTexture,Oculus);
414a415,421
> // Oculus
> var quat CurHmdOrientation;
> var quat BaseHmdOrientation;
> var rotator BaseHmdRotation;
> var rotator HmdRotDelta;
> var rotator MouseAim;
>
1342a1350,1351
> MouseAim.Pitch = 0;
> MouseAim.Yaw = 0;
1943a1953
> BaseHmdRotation -= Rotation;
2486a2497,2533
> exec function SetEyeHeight(float h)
> {
> local Oculus OC;
>
> if (Pawn != None)
> {
> OC = class'Oculus'.static.GetGlobals();
> if (OC != None && OC.IsPlayer(self))
> {
> OC.AddEyeHeight = h;
> Pawn.EyeHeight = (Pawn.EyeHeight - Pawn.BaseEyeHeight + h);
> Pawn.BaseEyeHeight = Pawn.Default.BaseEyeHeight + OC.AddEyeHeight;
> }
> }
> }
>
> exec function ResetAim()
> {
> MouseAim.Pitch = 0;
> MouseAim.Yaw = 0;
> }
>
> exec function SetAimMode(Oculus.EMouseAimMode mode)
> {
> local Oculus OC;
>
> if (Pawn != None)
> {
> OC = class'Oculus'.static.GetGlobals();
> if (OC != None && OC.IsPlayer(self))
> {
> OC.SetAimMode(mode);
> ResetAim();
> }
> }
> }
>
4679a4727,4730
>
> BaseHmdRotation = makeRotator(0,0,0);
> HmdRotDelta = makeRotator(0,0,0);
> HmdRotDelta.Yaw = Rotation.Yaw-QuatToRotator(CurHmdOrientation).Yaw;
4971a5023
> local Oculus OC;
5010a5063,5069
>
> // Oculus
> OC = class'Oculus'.static.GetGlobals();
> if (OC != None && OC.IsPlayer(self))
> {
> OC.UpdatePlayerViewPoint(self, out_Location, out_Rotation);
> }
5016c5075
< function UpdateRotation( float DeltaTime )
---
> event UpdateRotation( float DeltaTime )
5018a5078
> local Oculus OC;
5029a5090,5115
> // Oculus
> OC = class'Oculus'.static.GetGlobals();
> if (OC != None && OC.IsPlayer(self))
> {
> if (OC.bDisableControllerPitch)
> DeltaRot.Pitch = 0;
>
> MouseAim.Yaw += PlayerInput.aMouseAimX;
> MouseAim.Pitch += PlayerInput.aMouseAimY;
> MouseAim = Normalize(MouseAim);
> if (MouseAim.Yaw >= OC.MouseAimLimit)
> {
> DeltaRot.Yaw += (MouseAim.Yaw - OC.MouseAimLimit);
> MouseAim.Yaw = OC.MouseAimLimit;
> }
> else if (MouseAim.Yaw <= -OC.MouseAimLimit)
> {
> DeltaRot.Yaw += (MouseAim.Yaw + OC.MouseAimLimit);
> MouseAim.Yaw = -OC.MouseAimLimit;
> }
> if (MouseAim.Pitch >= OC.MouseAimPitchLimit)
> MouseAim.Pitch = OC.MouseAimPitchLimit;
> else if (MouseAim.Pitch <= -OC.MouseAimPitchLimit)
> MouseAim.Pitch = -OC.MouseAimPitchLimit;
> }
>
5030a5117,5123
>
> // If Camera is animating, do not apply the HMD rotation yet, because it will not be
> // used by the Camera, leading to bad headlook behavior.
> if (OC != None && OC.IsPlayer(self) && (PlayerCamera == None || !PlayerCamera.IsAnimActive()))
> {
> OC.ApplyHmdRotation(self, ViewRotation);
> }
5034a5128,5129
> if (Pawn != None)
> {
5036,5038d5130
< NewRotation.Roll = Rotation.Roll;
<
< if ( Pawn != None )
5039a5132
> }
5981a6075
>
9136a9231,9232
>
> CurHmdOrientation=(X=0,Y=0,Z=0,W=1)
diff -r ./2013-02/Development/Src/Engine/Classes/PlayerInput.uc ./UDK-2013-03-Oculus/Development/Src/Engine/Classes/PlayerInput.uc
25a26
>
62a64,65
> var input float aMouseAimX;
> var input float aMouseAimY;
78d80
<
175c177
< local float FOVScale, TimeScale;
---
> local float FOVScale, TimeScale, FinalTurn;
230,232c232,237
< // Turning and strafing share the same axis.
< if( bStrafe > 0 )
< aStrafe += aBaseX + aMouseX;
---
> FinalTurn = aBaseX;
> if (class'Oculus'.static.IsMouseAimEnabled())
> {
> aMouseAimX += aMouseX;
> aMouseAimY += aMouseY;
> }
234,238d238
< aTurn += aBaseX + aMouseX;
<
< // Look up/down.
< aLookup += aMouseY;
< if (bInvertMouse)
240c240,247
< aLookup *= -1.f;
---
> FinalTurn += aMouseX;
>
> // Look up/down.
> aLookup += aMouseY;
> if (bInvertMouse)
> {
> aLookup *= -1.f;
> }
242a250,255
> // Turning and strafing share the same axis.
> if( bStrafe > 0 )
> aStrafe += FinalTurn;
> else
> aTurn += FinalTurn;
>
559a573,574
>
>
583d597
<
Only in ./UDK-2013-03-Oculus/Development/Src/Engine/Classes: Stereo3D.uc
diff -r ./2013-02/Development/Src/Engine/Classes/Weapon.uc ./UDK-2013-03-Oculus/Development/Src/Engine/Classes/Weapon.uc
1883a1884,1909
> CameraRot = Instigator.GetBaseAimRotation();
> GetAxes(CameraRot, X, Y, Z);
>
> TargetLoc = ProjStart + X * VeryFar;
>
> if (None == GetTraceOwner().Trace(HitLocation, HitNormal, TargetLoc, ProjStart, true,,, TRACEFLAG_Bullet))
> {
> return VeryFar;
> }
>
> return (HitLocation - ProjStart) Dot X;
> }
>
> // returns distance
> simulated function float GetAimParams(out vector ProjStart, out vector TargetLoc)
> {
> local float VeryFar;
> local vector HitLocation, HitNormal, X, Y, Z;
> local rotator CameraRot;
> local PlayerController PC;
>
> VeryFar = 32768;
>
> PC = PlayerController(Instigator.Controller);
> PC.GetPlayerViewPoint(ProjStart, CameraRot);
> CameraRot = Instigator.GetBaseAimRotation();
Only in ./2013-02/Development/Src: ExoEditor
diff -r ./2013-02/Development/Src/GFxUI/Classes/GFxMoviePlayer.uc ./UDK-2013-03-Oculus/Development/Src/GFxUI/Classes/GFxMoviePlayer.uc
195a196,199
> /** Rotate based on HMD orientation */
> var bool bFollowHmdRotation;
> var float HmdExtraDepth;
>
372a377,378
> native final function GetView3D(out matrix matView);
> native final function GetPerspective3D(out matrix matPersp);
diff -r ./2013-02/Development/Src/GameFramework/Classes/MobileHUD.uc ./UDK-2013-03-Oculus/Development/Src/GameFramework/Classes/MobileHUD.uc
139c139
< return bShowMobileHud && bShowHud;
---
> return bShowMobileHud && bShowHud && bShowHudSetting;
188c188
< if (!bShowHUD)
---
> if (!bShowHUD || !bShowHudSetting)
Only in ./2013-02/Development/Src: OnlineSubsystemGameCenter
Only in ./2013-02/Development/Src: SwordEditor
diff -r ./2013-02/Development/Src/UDKBase/classes/SimplePawn.uc ./UDK-2013-03-Oculus/Development/Src/UDKBase/classes/SimplePawn.uc
79c79
< if ( abs(Location.Z - OldZ) > 15 )
---
> if ( abs(Location.Z - OldZ) > 15 || class'Oculus'.static.GetGlobals().bDisableWalkBob )
Only in ./2013-02/Development/Src: UDKOSC
diff -r ./2013-02/Development/Src/UTGame/Classes/GFxMinimapHud.uc ./UDK-2013-03-Oculus/Development/Src/UTGame/Classes/GFxMinimapHud.uc
41a42,43
> var GFxObject BarHealth, BarAmmo, NumHealth, NumAmmo, WeaponType;
>
198a201,207
> BarHealth = GetVariableObject("_root.bar_health");
> BarAmmo = GetVariableObject("_root.bar_ammo");
>
> NumHealth = GetVariableObject("_root.num_health");
> NumAmmo = GetVariableObject("_root.num_ammo");
> WeaponType = GetVariableObject("_root.weaponType");
>
286a296,309
> // PlayerStats
> // Log
> function SetHUDPos_HealthAmmo(float x, float y)
> {
> PlayerStatsMC.SetFloat("_x", x);
> PlayerStatsMC.SetFloat("_y", y);
> }
>
> function SetHUDPost_Log(float x, float y)
> {
> LogMC.SetFloat("_x", x);
> LogMC.SetFloat("_y", y);
> }
>
512a536,539
> // Oculus
> BarHealth.GotoAndStopI( 176 - int((float(UTP.Health) / float(UTP.HealthMax)) * 176) );
> NumHealth.SetText(UTP.Health);
>
563a591,594
>
> // Oculus
> WeaponType.GotoAndStopI(Weapon.InventoryGroup);
>
574a606,609
>
> // Oculus
> BarAmmo.GotoAndStopI( 176 - int((float(Weapon.GetAmmoCount()) / float(Weapon.MaxAmmoCount)) * 176) );
> NumAmmo.SetText( Weapon.GetAmmoCount() );
diff -r ./2013-02/Development/Src/UTGame/Classes/GFxUDKFrontEnd.uc ./UDK-2013-03-Oculus/Development/Src/UTGame/Classes/GFxUDKFrontEnd.uc
791a792,793
> bFollowHmdRotation=True
> HmdExtraDepth=-20000
diff -r ./2013-02/Development/Src/UTGame/Classes/GFxUILeaderboard.uc ./UDK-2013-03-Oculus/Development/Src/UTGame/Classes/GFxUILeaderboard.uc
136a137,138
> local Stereo3D S3D;
>
144a147,153
> S3D = class'Stereo3D'.static.GetStereoGlobals();
> if (S3D.IsEnabled())
> {
> LeaderboardMC.SetFloat("_z", S3D.HudDepth);
> LeaderboardMC.SetFloat("_xscale", 0.6*S3D.GetHudScale());
> LeaderboardMC.SetFloat("_yscale", 0.6*S3D.GetHudScale());
> }
diff -r ./2013-02/Development/Src/UTGame/Classes/GFxUIScoreboard.uc ./UDK-2013-03-Oculus/Development/Src/UTGame/Classes/GFxUIScoreboard.uc
132a133
> local Stereo3D S3D;
141a143,150
> S3D = class'Stereo3D'.static.GetStereoGlobals();
> if (S3D.IsEnabled())
> {
> ScoreboardMC.SetFloat("_z", S3D.HudDepth);
> ScoreboardMC.SetFloat("_xscale", 0.6*S3D.GetHudScale());
> ScoreboardMC.SetFloat("_yscale", 0.6*S3D.GetHudScale());
> }
>
diff -r ./2013-02/Development/Src/UTGame/Classes/GFxUI_PauseMenu.uc ./UDK-2013-03-Oculus/Development/Src/UTGame/Classes/GFxUI_PauseMenu.uc
31a32,33
> local Stereo3D S3D;
>
37a40,47
> S3D = class'Stereo3D'.static.GetStereoGlobals();
> if (S3D.IsEnabled())
> {
> PauseMC.SetFloat("_z", S3D.HudDepth);
> PauseMC.SetFloat("_xscale", S3D.GetHudScale());
> PauseMC.SetFloat("_yscale", S3D.GetHudScale());
> }
>
diff -r ./2013-02/Development/Src/UTGame/Classes/UTCheatManager.uc ./UDK-2013-03-Oculus/Development/Src/UTGame/Classes/UTCheatManager.uc
431a432,444
> exec function SetJumpSpeed(float f)
> {
> local UTPawn UTP;
>
> Super.SetJumpSpeed(f);
> UTP = UTPawn(Pawn);
> if (UTP != None)
> {
> UTP.DodgeSpeed = UTP.Default.DodgeSpeed * f;
> UTP.DodgeSpeedZ = UTP.Default.DodgeSpeedZ * f;
> }
> }
>
diff -r ./2013-02/Development/Src/UTGame/Classes/UTGFxHudWrapper.uc ./UDK-2013-03-Oculus/Development/Src/UTGame/Classes/UTGFxHudWrapper.uc
156c156
< if ( bShowHud && bEnableActorOverlays )
---
> if ( bShowHud && bEnableActorOverlays && bShowHudSetting )
diff -r ./2013-02/Development/Src/UTGame/Classes/UTHUD.uc ./UDK-2013-03-Oculus/Development/Src/UTGame/Classes/UTHUD.uc
715c715
< if ( bShowHud && bShowGameHud )
---
> if ( bShowHud && bShowGameHud && bShowHudSetting )
741c741
< if (UTGRI != None && !UTGRI.bMatchIsOver && bShowHud && PawnOwner != none )
---
> if (UTGRI != None && !UTGRI.bMatchIsOver && bShowHud && PawnOwner != none && bShowHudSetting )
diff -r ./2013-02/Development/Src/UTGame/Classes/UTHUDBase.uc ./UDK-2013-03-Oculus/Development/Src/UTGame/Classes/UTHUDBase.uc
340a341,347
> exec function ToggleHud()
> {
> `log("thudut" @ bShowHudSetting @ bShowHud);
> bShowHudSetting = !bShowHudSetting;
> SetVisible(bShowHUDSetting);
> }
>
402c409
< if (class'Engine'.static.IsRealDStereoEnabled())
---
> if (class'Engine'.static.IsStereoBuffer())
579c586
< ConfiguredCrosshairScaling=1.0
---
> ConfiguredCrosshairScaling=0.5
diff -r ./2013-02/Development/Src/UTGame/Classes/UTPawn.uc ./UDK-2013-03-Oculus/Development/Src/UTGame/Classes/UTPawn.uc
72a73,74
> var float CameraExtraZOffset;
>
895a898,900
> DodgeSpeed = WorldInfo.Game.JumpSpeedFactor * Default.DodgeSpeed;
> DodgeSpeedZ = WorldInfo.Game.JumpSpeedFactor * Default.DodgeSpeedZ;
>
1746c1751
< if( bJustLanded || !bUpdateEyeheight )
---
> if( bJustLanded || !bUpdateEyeheight || (class'Oculus'.static.IsEnabled() && class'Oculus'.static.GetGlobals().bDisableWalkBob))
2686a2692
> local Oculus OC;
2752a2759,2770
> OC = class'Oculus'.static.GetGlobals();
> if (OC != None && OC.IsPlayer(PC) && OC.bDisableDeathAnims)
> {
> // fade to white
> if (PC.PlayerCamera == None)
> {
> PC.PlayerCamera = Spawn(class'Camera', PC);
> PC.PlayerCamera.InitializeFor(PC);
> }
> PC.ClientSetCameraFade(true, MakeColor(255,255,255,255), vect2d(0,1), 2, false);
> }
>
2763c2781
< if( UTDamageType != None )
---
> if( UTDamageType != None && !OC.IsEnabled() || !OC.bDisableDeathAnims)
2853c2871
< if( TearOffMomentum != vect(0,0,0) )
---
> if( TearOffMomentum != vect(0,0,0) && !class'Oculus'.static.DisableMomentum(Controller))
3131c3149
< CamStart.Z += CameraZOffset;
---
> CamStart.Z += CameraZOffset + CameraExtraZOffset;
4614a4633,4641
> function SetCamera3rd(float cs, float cz)
> {
> if ( !IsFirstPerson() )
> {
> CameraScale = cs;
> CameraExtraZOffset = cz;
> }
> }
>
5031a5059,5066
> local Oculus OC;
>
> OC = class'Oculus'.static.GetGlobals();
> if (OC != None && OC.IsEnabled() && OC.bDisableDeathAnims)
> {
> GetActorEyesViewPoint( out_CamLoc, out_CamRot );
> return true;
> }
5074a5110,5116
> if (class'Oculus'.static.DisableMomentum(Controller))
> {
> momentum.X = 0;
> momentum.Y = 0;
> momentum.Z = 0;
> }
>
5143c5185
< if( (Physics != PHYS_RigidBody) || (Momentum == vect(0,0,0)) || (HitInfo.BoneName == '') )
---
> if( (Physics != PHYS_RigidBody) || (Momentum == vect(0,0,0)) || (HitInfo.BoneName == '') || class'Oculus'.static.DisableMomentum(Controller))
5461,5462c5503,5504
< DodgeSpeed=600.0
< DodgeSpeedZ=295.0
---
> DodgeSpeed=0
> DodgeSpeedZ=0
diff -r ./2013-02/Development/Src/UTGame/Classes/UTPlayerController.uc ./UDK-2013-03-Oculus/Development/Src/UTGame/Classes/UTPlayerController.uc
1747a1748,1754
>
> // undo camera set for death fade
> if (P != None && PlayerCamera != None && class'Oculus'.static.IsEnabled())
> {
> PlayerCamera.Destroy();
> PlayerCamera = None;
> }
2067a2075
>
2076a2085,2099
> simulated event GetPlayerViewPoint( out vector POVLocation, out Rotator POVRotation )
> {
> local Oculus OC;
> OC = class'Oculus'.static.GetGlobals();
> if (OC != None && OC.IsPlayer(self) && OC.bDisableDeathAnims)
> {
> POVLocation = Location;
> POVLocation.Z += CalcEyeHeight;
> POVRotation = MakeRotator(0,0,0);
> OC.UpdatePlayerViewPoint(self, POVLocation, POVRotation);
> }
> else
> Global.GetPlayerViewPoint(POVLocation, POVRotation);
> }
>
2192a2216,2230
> simulated event GetPlayerViewPoint( out vector POVLocation, out Rotator POVRotation )
> {
> local Oculus OC;
> OC = class'Oculus'.static.GetGlobals();
> if (OC != None && OC.IsPlayer(self) && OC.bDisableDeathAnims)
> {
> POVLocation = Location;
> POVLocation.Z += CalcEyeHeight;
> POVRotation = MakeRotator(0,0,0);
> OC.UpdatePlayerViewPoint(self, POVLocation, POVRotation);
> }
> else
> Global.GetPlayerViewPoint(POVLocation, POVRotation);
> }
>
2378a2417
> PlayerCamera = None;
2389a2429
> PlayerCamera = None;
2493a2534
> local Oculus OC;
2529c2570
< if ( PlayerCamera != None )
---
> if ( PlayerCamera != None && !class'Oculus'.static.IsEnabled() )
2530a2572
> // leave camera when set for death
2559a2602,2611
> // Oculus
> OC = class'Oculus'.static.GetGlobals();
> if (OC != None && OC.IsPlayer(self))
> {
> OC.UpdatePlayerViewPoint(self, POVLocation, POVRotation);
> if ( Pawn != None )
> CalcEyeHeight = Pawn.EyeHeight;
> return;
> }
>
2744c2796
< if (CameraAnimPlayer != None && !CameraAnimPlayer.bFinished)
---
> if (CameraAnimPlayer != None && !CameraAnimPlayer.bFinished && !class'Oculus'.static.IsEnabled())
3024a3077,3085
> exec function SetCamera3rd(float cs, float cz)
> {
> Camera('3rd');
> if (UTPawn(ViewTarget) != None)
> {
> UTPawn(ViewTarget).SetCamera3rd(cs,cz);
> }
> }
>
3559a3621
> //class'Oculus'.static.UpdateViewRotation(PlayerInput, makerotator(0,0,0), DebugFreeCamRot);
diff -r ./2013-02/Development/Src/UTGame/Classes/UTVehicleWeapon.uc ./UDK-2013-03-Oculus/Development/Src/UTGame/Classes/UTVehicleWeapon.uc
137c137,138
< local float CenterSize;
---
> local float CenterSize, TargetDist;
> local rotator CrosshairRot;
145a147
> TargetDist = GetTargetDistance();
156a159,160
> CrosshairRot.Yaw = -HUD.PlayerOwner.Rotation.Roll;
>
161,162c165,166
< Hud.Canvas.SetPos(0.5*(HUD.Canvas.ClipX - CenterSize), 0.5*(HUD.Canvas.ClipY - CenterSize));
< Hud.Canvas.DrawTile(Texture2D'UI_HUD.HUD.UTCrossHairs', CenterSize, CenterSize, 380, 320, 26, 26);
---
> Hud.Canvas.SetPos(0.5*(HUD.Canvas.ClipX - CenterSize), 0.5*(HUD.Canvas.ClipY - CenterSize), TargetDist);
> Hud.Canvas.DrawRotatedTile(Texture2D'UI_HUD.HUD.UTCrossHairs', CrosshairRot, CenterSize, CenterSize, 380, 320, 26, 26);
180c184
< Hud.Canvas.SetPos(RealAimPoint.X - 10.0, RealAimPoint.Y - 10.0);
---
> Hud.Canvas.SetPos(RealAimPoint.X - 10.0, RealAimPoint.Y - 10.0, TargetDist);
182c186
< Hud.Canvas.DrawTile(Texture2D'UI_HUD.HUD.UTCrossHairs', CenterSize, CenterSize, 380, 320, 26, 26);
---
> Hud.Canvas.DrawRotatedTile(Texture2D'UI_HUD.HUD.UTCrossHairs', CrosshairRot, CenterSize, CenterSize, 380, 320, 26, 26);
diff -r ./2013-02/Development/Src/UTGame/Classes/UTWeap_LinkGun.uc ./UDK-2013-03-Oculus/Development/Src/UTGame/Classes/UTWeap_LinkGun.uc
145a146,148
> local rotator CrosshairRot;
> local Oculus OC;
> local vector ProjStart, TargetLoc, ScreenPos;
151c154
< TargetDist = GetTargetDistance();
---
> TargetDist = GetAimParams(ProjStart, TargetLoc);
169,170c172,190
< CrosshairSize.Y = H.ConfiguredCrosshairScaling * CrosshairScaling * CrossHairCoordinates.VL * PickupScale * H.Canvas.ClipY/720;
< CrosshairSize.X = CrosshairSize.Y * ( CrossHairCoordinates.UL / CrossHairCoordinates.VL );
---
> OC = class'Oculus'.static.GetGlobals();
> if (OC != None && OC.IsEnabled() && TargetDist < OC.CrosshairMinDistance)
> {
> return;
> }
>
> if (OC != None && OC.IsEnabled() && OC.bCurrentUseDotCrosshair)
> {
> CrosshairSize.Y = H.ConfiguredCrosshairScaling * CrosshairScaling * OC.CrosshairSize * PickupScale * H.Canvas.ClipY/720;
> CrosshairSize.X = CrosshairSize.Y;
> }
> else
> {
> CrosshairSize.Y = H.ConfiguredCrosshairScaling * CrosshairScaling * CrossHairCoordinates.VL * PickupScale * H.Canvas.ClipY/720;
> CrosshairSize.X = CrosshairSize.Y * ( CrossHairCoordinates.UL / CrossHairCoordinates.VL );
> }
>
> ScreenPos = H.Canvas.Project(TargetLoc);
> X = ScreenPos.X; Y = ScreenPos.Y;
172,173d191
< X = H.Canvas.ClipX * 0.5;
< Y = H.Canvas.ClipY * 0.5;
176c194,195
< if ( CrosshairImage != none )
---
>
> if (OC != None && OC.IsEnabled() && OC.bCurrentUseDotCrosshair)
177a197,207
> H.Canvas.DrawColor.R = 255;
> H.Canvas.DrawColor.G = 0;
> H.Canvas.DrawColor.B = 0;
> H.Canvas.DrawColor.A = OC.CrosshairAlpha;
> H.Canvas.SetPos(ScreenX, ScreenY, TargetDist);
> H.Canvas.DrawRotatedTile(Texture2D'UDKOculus.RedDotCrosshair',CrosshairRot,CrosshairSize.X, CrosshairSize.Y, 0,0,32,32);
> }
> else if ( CrosshairImage != none )
> {
> CrosshairRot.Yaw = -H.PlayerOwner.Rotation.Roll;
>
181c211
< H.Canvas.DrawTile(CrosshairImage,CrosshairSize.X, CrosshairSize.Y, CrossHairCoordinates.U, CrossHairCoordinates.V, CrossHairCoordinates.UL,CrossHairCoordinates.VL);
---
> H.Canvas.DrawRotatedTile(CrosshairImage,CrosshairRot,CrosshairSize.X, CrosshairSize.Y, CrossHairCoordinates.U, CrossHairCoordinates.V, CrossHairCoordinates.UL,CrossHairCoordinates.VL);
187c217
< H.Canvas.DrawTile(CrosshairImage,CrosshairSize.X, CrosshairSize.Y, CrossHairCoordinates.U, CrossHairCoordinates.V, CrossHairCoordinates.UL,CrossHairCoordinates.VL);
---
> H.Canvas.DrawRotatedTile(CrosshairImage,CrosshairRot,CrosshairSize.X, CrosshairSize.Y, CrossHairCoordinates.U, CrossHairCoordinates.V, CrossHairCoordinates.UL,CrossHairCoordinates.VL);
diff -r ./2013-02/Development/Src/UTGame/Classes/UTWeap_RocketLauncher.uc ./UDK-2013-03-Oculus/Development/Src/UTGame/Classes/UTWeap_RocketLauncher.uc
710a711,712
> local Oculus OC;
> local vector ProjStart, TargetLoc, ScreenPos;
722c724
< TargetDist = GetTargetDistance();
---
> TargetDist = GetAimParams(ProjStart, TargetLoc);
740a743,748
> OC = class'Oculus'.static.GetGlobals();
> if (OC != None && OC.IsEnabled() && TargetDist < OC.CrosshairMinDistance)
> {
> return;
> }
>
745,746c753,754
< X = H.Canvas.ClipX * 0.5;
< Y = H.Canvas.ClipY * 0.5;
---
> ScreenPos = H.Canvas.Project(TargetLoc);
> X = ScreenPos.X; Y = ScreenPos.Y;
753c761
< CrosshairRotation.Yaw = 21845.3333 * (LoadedShotCount - 1.0 + FMin(1.0,2.0*TimeRemaining/GetFireInterval(1)));
---
> CrosshairRotation.Yaw = 21845.3333 * (LoadedShotCount - 1.0 + FMin(1.0,2.0*TimeRemaining/GetFireInterval(1))) - H.PlayerOwner.Rotation.Roll;
diff -r ./2013-02/Development/Src/UTGame/Classes/UTWeapon.uc ./UDK-2013-03-Oculus/Development/Src/UTGame/Classes/UTWeapon.uc
495c495
< OverlayMesh.SetScale(1.00);
---
> OverlayMesh.SetScale(1.0);
659c659,660
<
---
> local rotator CrosshairRot;
> local Oculus OC;
660a662
> local vector ProjStart, TargetLoc, ScreenPos;
666c668
< TargetDist = GetTargetDistance();
---
> TargetDist = GetAimParams(ProjStart, TargetLoc);
685,686c687,691
< CrosshairSize.Y = H.ConfiguredCrosshairScaling * CrosshairScaling * CrossHairCoordinates.VL * PickupScale * H.Canvas.ClipY/720;
< CrosshairSize.X = CrosshairSize.Y * ( CrossHairCoordinates.UL / CrossHairCoordinates.VL );
---
> OC = class'Oculus'.static.GetGlobals();
> if (OC != None && OC.IsEnabled() && TargetDist < OC.CrosshairMinDistance)
> {
> return;
> }
688,689c693,705
< X = H.Canvas.ClipX * 0.5;
< Y = H.Canvas.ClipY * 0.5;
---
> if (OC != None && OC.IsEnabled() && OC.bCurrentUseDotCrosshair)
> {
> CrosshairSize.Y = H.ConfiguredCrosshairScaling * CrosshairScaling * OC.CrosshairSize * PickupScale * H.Canvas.ClipY/720;
> CrosshairSize.X = CrosshairSize.Y;
> }
> else
> {
> CrosshairSize.Y = H.ConfiguredCrosshairScaling * CrosshairScaling * CrossHairCoordinates.VL * PickupScale * H.Canvas.ClipY/720;
> CrosshairSize.X = CrosshairSize.Y * ( CrossHairCoordinates.UL / CrossHairCoordinates.VL );
> }
>
> ScreenPos = H.Canvas.Project(TargetLoc);
> X = ScreenPos.X; Y = ScreenPos.Y;
692c708,718
< if ( CrosshairImage != none )
---
>
> if (OC != None && OC.IsEnabled() && OC.bCurrentUseDotCrosshair)
> {
> H.Canvas.DrawColor.R = 255;
> H.Canvas.DrawColor.G = 0;
> H.Canvas.DrawColor.B = 0;
> H.Canvas.DrawColor.A = OC.CrosshairAlpha;
> H.Canvas.SetPos(ScreenX, ScreenY, TargetDist);
> H.Canvas.DrawRotatedTile(Texture2D'UDKOculus.RedDotCrosshair',CrosshairRot,CrosshairSize.X, CrosshairSize.Y, 0,0,32,32);
> }
> else if ( CrosshairImage != none )
693a720,721
> CrosshairRot.Yaw = -H.PlayerOwner.Rotation.Roll;
>
697c725
< H.Canvas.DrawTile(CrosshairImage,CrosshairSize.X, CrosshairSize.Y, CrossHairCoordinates.U, CrossHairCoordinates.V, CrossHairCoordinates.UL,CrossHairCoordinates.VL);
---
> H.Canvas.DrawRotatedTile(CrosshairImage,CrosshairRot,CrosshairSize.X, CrosshairSize.Y, CrossHairCoordinates.U, CrossHairCoordinates.V, CrossHairCoordinates.UL,CrossHairCoordinates.VL);
702c730
< H.Canvas.DrawTile(CrosshairImage,CrosshairSize.X, CrosshairSize.Y, CrossHairCoordinates.U, CrossHairCoordinates.V, CrossHairCoordinates.UL,CrossHairCoordinates.VL);
---
> H.Canvas.DrawRotatedTile(CrosshairImage,CrosshairRot,CrosshairSize.X, CrosshairSize.Y, CrossHairCoordinates.U, CrossHairCoordinates.V, CrossHairCoordinates.UL,CrossHairCoordinates.VL);
712a741
> local rotator CrosshairRot;
735a765,766
> CrosshairRot.Yaw = -H.PlayerOwner.Rotation.Roll;
>
739,740c770,771
< H.Canvas.DrawTile(CrosshairImage,CrosshairSize.X, CrosshairSize.Y, LockedCrossHairCoordinates.U, LockedCrossHairCoordinates.V, LockedCrossHairCoordinates.UL,LockedCrossHairCoordinates.VL);
<
---
> H.Canvas.DrawRotatedTile(CrosshairImage,CrosshairRot,CrosshairSize.X, CrosshairSize.Y, LockedCrossHairCoordinates.U, LockedCrossHairCoordinates.V, LockedCrossHairCoordinates.UL,LockedCrossHairCoordinates.VL);
>
743c774
< H.Canvas.DrawTile(CrosshairImage,CrosshairSize.X, CrosshairSize.Y, LockedCrossHairCoordinates.U, LockedCrossHairCoordinates.V, LockedCrossHairCoordinates.UL,LockedCrossHairCoordinates.VL);
---
> H.Canvas.DrawRotatedTile(CrosshairImage,CrosshairRot,CrosshairSize.X, CrosshairSize.Y, LockedCrossHairCoordinates.U, LockedCrossHairCoordinates.V, LockedCrossHairCoordinates.UL,LockedCrossHairCoordinates.VL);
1347a1379,1383
> if (class'Oculus'.static.IsEnabled())
> {
> return class'Oculus'.static.GetGlobals().bHideGun ? HAND_Hidden : HAND_Centered;
> }
>
1408c1444
< if (class'Engine'.static.IsRealDStereoEnabled())
---
> if (class'Engine'.static.IsAnyStereo3DEnabled())
diff -r ./2013-02/Development/Src/UTGameContent/Classes/UTVWeap_CicadaMissileLauncher.uc ./UDK-2013-03-Oculus/Development/Src/UTGameContent/Classes/UTVWeap_CicadaMissileLauncher.uc
467c467
< local float CX,CY, CenterSize, XAdj, Alpha, X, Y,U,V;
---
> local float CX,CY, CenterSize, XAdj, Alpha, X, Y,U,V, TargetDist;
474a475
> TargetDist = GetTargetDistance();
499c500
< H.Canvas.SetPos(X+CrosshairSlots[i].gx * H.ResolutionScale - (U * 0.5), Y + CrossHairSlots[i].gy * H.ResolutionScale - (V*0.5));
---
> H.Canvas.SetPos(X+CrosshairSlots[i].gx * H.ResolutionScale - (U * 0.5), Y + CrossHairSlots[i].gy * H.ResolutionScale - (V*0.5), TargetDist);
514c515
< H.Canvas.SetPos(X, Y);
---
> H.Canvas.SetPos(X, Y, TargetDist);
EDIT: Added Code tags. Ignore the one line in there re: UDKOSC, that's my custom directory. - cyberealityGrand ChampionIn the future you may want to use the "code" tag.
- BenNadlerHonored Guest
"cybereality" wrote:
In the future you may want to use the "code" tag.
Hey cyber,
Can you confirm if this is a valid way to go? Are the primary differences in Unrealscript, or is there a native integration that is being done inside UDK.exe itself? Are there any alternatives for those of us who are working with newer versions of the development kit and can't transfer over, or who rely on Scaleform integrations?
Not to get on a soapbox about it, but I purchased a Rift specifically to integrate it with my game in Unreal, under the premise that it wouldn't break Unreal in the process. My game has a heavy reliance on Scaleform and so the current Oculus UDK build doesn't work for me.
I think it makes more sense to release the Oculus SDK as a downloadable package that you could copy into a default UDK directory, instead of having a custom "build." Unless you guys can promise to fix the current build and get the licenses for Scaleform and BIK video working, wouldn't it be easier just to have a plug-and-play version? Also, that way if Epic releases future builds, there isn't a constant catch-up or wait time for a new version. Just copy the same Unrealscript over and it should work properly. - BlackFangHonored GuestDid this work? If scaleform and the other 3rd party utilities are busted then it doesn't really count as UDK support. No scaleform means no HUDs or UIs (don't even bother suggesting the dated canvas system). I could probably force support in myself (assuming the SDK comes with a DLL to bind to and I can fix the rendering with some clever material and post-process work). I haven't gotten my rift yet, but I am an avid UDKer.
Quick Links
- Horizon Developer Support
- Quest User Forums
- Troubleshooting Forum for problems with a game or app
- Quest Support for problems with your device
Other Meta Support
Related Content
- 1 year ago
- 2 years ago