Skip to content

PeterTh/gedosato

Folders and files

NameName
Last commit message
Last commit date
Jun 7, 2016
Oct 11, 2015
Jan 31, 2016
Jun 7, 2016
Jun 12, 2016
Jan 17, 2014
Jun 12, 2016
Jan 14, 2014
Feb 6, 2016
Nov 7, 2015
Oct 24, 2015
Jun 7, 2016
Jan 14, 2014
Nov 7, 2015
Apr 9, 2014

Repository files navigation

GeDoSaTo Developer Readme

General

This file is intended for developers who want to improve GeDoSaTo or use it as a base for other modifications.

If you are interested in creating custom game profiles, an in-depth guide is available here: http://www.pcgamer.com/2014/07/24/how-to-create-sweetfx-style-shaders-that-dont-affect-the-hud-with-durantes-gedosato/

All the source code is released under the conditions of the GPLv3, except for

  • SuperFastHash
  • SMAA and FXAA which have their own licensing terms included.

Requirements & Dependencies

Contributing

The best way to contribute is to send a Github pull request.

If you want to add a major new feature (e.g. DX11 support), I'd appreciate it if you were to contact me before, so that we can discuss the design a bit.

If you want to contribute a game-specific plugin, look at Dark Souls 2 or the generic plugins as examples.

File Overview

General

  • The "pack" folder contains the files for distribution, including end-user documentation, .inis, effects and folders
  • "main.*" includes the main function and a few utilities
  • The "plugins" folder contain game-specific plugin headers and sources (plugin mappings are defined in "plugins.def")

Wrapping

  • The "d3d9*" files implement d3d wrapping
  • "detouring.*" files implement function overriding using the Detours library

Utilities

  • "settings.*" files implement reading settings (defined in settings.def) from .ini files and querying them
  • "key_actions.*" files implement keybindings, together with the Xmacro files "keys.def" and "actions.def"
  • "window_manager.*" files implement window management (e.g. borderless fullscreen)
  • "d3dutil", string_utils" and "utils" contain various utility functions
  • "blacklist.*" manage blacklisting (and whitelisting)

Rendering

  • "RenderstateManager.*" is where most of the magic happens, implements detection and rerouting of the games' rendering pipeline state
  • "SMAA.", "VSSAO." and "GAUSS.*" are effects optionally used during rendering (derive from the base Effect)
  • "Textures.def" is a database of known texture hashes
  • "Shaders.def" is a database of known shader hashes