Jump to content

Camera Rotation


nextidea

Recommended Posts

Anything that actually gives us more control over Camera settings (both in realtime and through various custom settings!) is certainly a must.

 

When Bokauk added such complex features to her ToolBok program, i wondered how i ever could do without a fully pan-tilt-yaw-pitch UI where gameplay and actions take a whole new meaning.

 

Dunno how far you are into implementing that stuff but let me ask for something if you figure it might be worth the coding;

 

-- A way (either by shortcut or key-binding) to reset everything straight to the default Interface values. It seems logical that after a few toggling moves and sometimes (when) simply losing perspective on the "viewing scope", we'd wish to re-initialize the camera from a clear_valid_familiar point-of-origin.

 

Good luck with it... as i'm sure many people could use such a feature.

 

PS; currently using wghost81's Tweaks... these camera variations are working correctly. But if we need to modify the "Degrees", we have to re-install from scratch.

Link to comment
Share on other sites

  On 5/31/2014 at 4:40 PM, wghost81 said:

Amineri, default executable camera pitch function is broken. Check Camera Mods for working one.

 

I'll have to check out your implementation, but I did find a pitch control that worked :

vPres.CAMGetCurrentView().AddPitch((1.0 * m_vMouseCursorDelta.Y))

This accesses XGCameraView through the XComPresentationLayer and calls XGCameraView.AddPitch. This function works for adjusting pitch, while the XComCamera.PitchCamera is non-functional:

XComCamera(Outer.PlayerCamera).PitchCamera(m_vMouseCursorDelta.Y * 2.0)

does not work.

 

So in summary :

XComCamera class only supports changing yaw (pitch does not work)

XGCameraView class pitch controls do work (presumably yaw does as well)

Link to comment
Share on other sites

  On 5/30/2014 at 12:29 PM, wghost81 said:

farfrael, ToolBooks did it, but it was glitching, and I haven't looked into matter since then as default zoom level did the job for me. So no, I don't know the answer to that, sorry.

 

no problem, thank you for the response and your mods !

Link to comment
Share on other sites

  • 1 month later...

Following a suggestion by johnnylump to not make mouse camera controls too intrusive, I've been experimenting with modding the options interface to enable configuration controls.

 

In the interface code I found some disabled controls for "Show Enemy Health" and "Default Zoom Level". These were both dropdown boxes, but with a little actionscript surgery I was able to convert them into a checkbox and a slider. So far there's no functionality behind these UI elements -- Firaxis apparently never wrote the code to allow changing default zoom. But, here's a picture of the modding UI :

 

http://cloud-4.steampowered.com/ugc/79128300880665360/A8477C082DD3EBF4FCD37A8D65AE3975E356D465/

 

 

My current plan is to have the "Camera Panning" checkbox do the following :

  1. Disable MMouse click-and-hold zoom, and replace it with MMouse click-and-hold yaw/pitch camera control
  2. Disable ScrollWheel elevation change, and replace it with Scrollwheel zoom control
  3. Remap the actions for the default Q and W keys (which should remain reconfigurable) to control elevation

 

If/when I get that done, the plan is to begin work on enabling the slider to control the default zoom level.

 

---------------

 

On a technical note, to get this to work I had to find two unused variables in the XComOnlineProfileSettingsDataBlob class. The two variables I find, which don't seem to be used, are :

  • bHasPlayedDLCCampaign -- will hold the setting for Camera Panning
  • m_iGammaPercentage -- will contain the value for Default Camera Zoom (note: m_fGamma appears to contain the value for the actual gamma control)
Link to comment
Share on other sites

  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...