GrimCam is a Camera mod for the game Grim Dawn.
While Grim Dawn does have camera controls it only lets you rotate the camera left and right, not up and down. Also the movement feels imprecise becuse it uses a dampening algorithm.
To used just place GrimCam.exe, GrimCam.dll and GrimCam.ini in the same folder that Grim Dawn.exe is. Running GrimCam.exe should launch the game with the mod enabled. If you are using the Steam version make sure Steam is running first.
The ini file contains a number of configuration options:
MinPitch and MaxPitch: These put a limit on how far you can look up and down.
FOV: Field of view in degrees. Grim Dawn uses vertical field of view. So with a 16:9 display a 60 here will give you a horizontal field of view of about 91.5
FarClip: This is the draw distance. GrimCam forces this value rather than let the game dynamically adjust this to match the fog density. I do this for two reasons. One is that the indoor value of 250 is a bit larger than I would like. The larger the view distance the more likley that turning that camera will put an asset into view the game was not expecting to be there causing the game to pause while it loads. The other is because I like to turn off fog (see below).
HSensitivity and VSensitivity: Horizontal and Vertical mouse sensititiy in degrees per pixel. Yes pixel as it's using the motion of the mouse cursor and not raw mouse input.
MinDistance and MaxDistance: How far you can zoom in and out.
Key: The keycode for the button that needs to be held down to move the camera. 4 is the keycode for the middle mouse button.
EnableFog: Grim Dawn makes heavy use of distance fog but what it doesn't do is clear to the fog color. So the fogging in the distance clashes with the black background. Set this to 0 for a nice clear view into the distance.
These are a collection of utilities that decrypt various save files that the game Grim Dawn uses.
The files they decrypt are player.gdc, quests.gdd and transfer.gst respectively. (Different file names may be used for hardcore characters.)
The decrypted files these utilities create can be read by the game as they are the same as you would get if you used an initial encryption key of 0. This is because it uses an exclusive-or base encryption.
They are meant to provide examples of code that can read and write these files. I have tried to provide meaningful names to all the classes and fields that I use to store the data as possible.