General questions

Why, there are Steam/Uplay/Origin/GOG/Epic Games Launcher already have cloud saves?

  • Cloud saves are tied to a specific platform/launcher.
  • Cloud saves are tied to a specific account, within their platform.
  • Cloud saves are synchronized only between sessions, i.e. during them are not saved.
  • There is no revisions of the cloud saves, if you do something (ingame) that does not desirable by you (for achievements or stats), and game use only one save slot, you must doing it from the scratch.
  • Finally, not all games are tied to some kind of launcher or do not have cloud save support at all.

There are several programs for backup of game saves, why another one?

There really are programs, of varying degrees of usability. In order to avoid specific criticism, I will describe what guided me when starting work on SaveGamePro:

  • The program should be convenient and understandable.
  • The program, to start working with it, should not torment the user with lengthy or non-obvious parameter settings. Or completely independent input of all parameters: what, where and how. At the moment, SaveGamePro requires only specifying the directory where the backups will be saved, all other parameters (and there are quite a few of them) are optional.
  • The program should run as fast as possible, while consuming a minimum of system resources (RAM, CPU time, etc). Many programs are now written in trendy frameworks: Electron (which is essentially a browser engine), TypeScript, Vue, and so on.
    I thought and still think that for a desktop application this is not the best solution if it is not actually a web browser.

Just example: SaveGamePro program launch — 10 megabytes of memory, work (scanning PC for saves) about 16-20 megabytes (depending on the amount games found). CPU consumption only during scan, backup (archive), or restore backups. The tasks of scanning, archiving, restoring are performed in separate threads (the application implements a threadpool that accepts tasks, executes them in parallel and gives a callback in the form of task execution progress and the data itself). 10-15 megabytes is nothing according to modern metrics, the application contains all the resources in itself (sounds, graphics) except for the game database, or quickly (!) generates them during operation as needed. In general, the program searches faster, finds more and is much less resource intensive. This is what desktop software should be.

What programming language is the program written in and what frameworks or libraries does it use?

C++17

GUI: wxWidgets (c++)

Databases: wxSQLite 3 (c/c++)

Parsing JSON: JsonCpp (c++)

Parsing XML: wxWidgets (wrapping over libexpat)

Cryptography (checksums, asymmetric encryption) CryptoPP (c++)

Archiving at the moment – zlib, more efficient in terms of compress ratio lzma2 (liblzma) (c/c++), is not yet available in the release, due to the fact that this format is not a container for several files, but a compression algorithm and it is necessary to collect all files into a single container before compression (for example tar), and this is an extra waste of either RAM memory or disk space. It was tested in development, maybe someday, after some R&D it will get into the release. At the moment I don’t plan to use 7z as a separate dynamically linked (dll) library (or just CLI to 7z.exe as in some similar programs).

Some Win32 Api, for Windows specific features.

Drawing some graphics in offscreen bitmaps and output to DC using Direct2D or GDI.

Working with the Windows registry, file system, IPC (Inter-Process Communication), configuration files, sound, network — wxWidgets (c++) built-in classes.

Graphic icons — vector svg, convertible in runtime to the desired format.

Will versions for other operating systems or Steam Deck ever be released?

At the moment, I can’t say for sure, it depends on many things, primarily on the popularity of the program and the number of users. Theoretically it is possible, in practice it is quite a lot of work and time.

What are the dependencies of the program? .NET or something else.

System requirements are listed on the SaveGamePro download page

Application uses any data from Steam/Uplay or another system. I am concerned about my personal data?

The application only scans the Steam/Uplay save directories, receiving a public (known to everyone) ID from the name of the cloud save directory, neither your login nor passwords are not needed at all for application (and me as a developer). And yes, even this data, unlike some other applications (or sites), remains with you, and the only place where it is stored:

[Platforms]
SteamActiveID=
UplayActiveID= 

in SaveGamePro.ini configuration file. You can see mine on the screenshot below.

The metainformation created by the application in the backups contains absolutely no information about your account/PC. What is stored in the saved games themselves depends on the developers themselves.

How often will the game database be updated?

There are no specific dates yet. Ideally, popular releases should be added as they come out, less significant ones less often.

What is development based on?

At the moment only on my efforts. The project has no sponsors yet. If the project does not have users of the SaveGamePro Extended version, it is highly likely that it will cease to exist.

What will the donation or sponsorship give?

Many applications can exist and be developed only thanks to the support of their users. But in addition donation or sponsorship gives access to some additional features. It is also early builds and mention in the sponsors section of the application. I think it’s fair that people who put in the effort to support will be somehow rewarded, it works both ways.

What does the name SaveGamePro mean, pro is a marketing “Professional”?

No, it was originally “SaveGame Prototype”. Then, during application development, some letters fell off the name.

Does the program support localization?

Yes, it does. Localization and local date format and even Right-to-left interface when choosing the appropriate locale. If you want a new localization to appear in the application, please contact me.

I have an idea or found a bug, can I report it?

Sure, email me. It will be great if you attach the application log, it can be found along the path:

%TEMP%\SaveGamePro.log

Set verbose logging to enabled, by adding:

[Logging]
Verbose=1

in SaveGamePro.ini configuration file, or launch with -v or –verbose command line arguments.

Using the program

Can the program restore saves from one account to another?

Technically, the program sees all Steam or Uplay profiles and the backups themselves are not tied to specific paths in the operating system (environment variables are used). Some games use Steam UserID or Uplay ID in the save files themselves. I don’t have statistics on these games yet. You can specify an account during backup restoring or specify in the application settings.

Can I customize the appearance of the program?

Yes, there is such an opportunity, look at the application settings.

At this time: Base color used for icons and some menus (for both dark and normal mode). Menu mode: classic menu or toolbar (horizontal or vertical).

The popup info window is more customizable: background, text and title color, fade in and fade out effects, Acrylic Blur (Aero).

Also you can choice split panel mode: horizontal or vertical.

There support for dark mode, but when I set in nothing changes. Why?

This option available since Windows 10 v2004 (“20H1”), build number 19041) and later.

Does the program support file association?

Yes it does, take a look at the settings. It works as per-user basis, and does not require running app in Admin-mode for change.

Does the program support files Drag-n-Drop?

Yes it does, drag the archives created by the program in *.sgpro format into the program window.

Is it possible to drag an entire directory?

Yes, the files from selected and dragged directories will be validated, those that are not supported or invalid will be filtered out. You can add a program shortcut to Send-To (for now, only on your own, if you know how) and send files or directories to the program from the Explorer context menu.

Is it possible to hide a program in the system tray?

Yes you can, look at the application settings.

Can be run minimized to tray?

Yes you can, look at the application settings.

Is there a menu in the tray?

There is. Click right mouse button on the tray icon. There is also support for Windows jump list, click RMB on the icon in the taskbar. In this mode, a new copy of the program is launched, accesses the current copy via IPC (Inter-Process Communication), sending data that is processed, if the modal window is not open in the active app instance. Both ways works, but accesing via tray menu slightly faster.

Can I add a program to autorun?

Yes you can, look at the application settings. It also works as per-user basis, and does not require running app in Admin-mode for change.

Can I automatically scan saves or backups when starting the program?

Yes you can, look at the application settings.

How to open a file/directory location in the saves/backups list?

Right click on a save file, directory or backup in the right or bottom panel, depends on the visual appearance settings, or double click on the save file or directory. You can also open Windows registry hive in Windows regedit if there is an entry.

How can I view the contents of a backup (*.sgpro file)?

By dragging the file into the application window, either by double-clicking the mouse or via the context menu in the backup list (right or bottom panel, depends on the visual appearance settings).

When you open a registry entry, a console window opens for a second. It is normal?

Windows registry editor launching from a non-administrator mode app is only possible in this way.

Does the program backup registry entries?

Yes, if they are exists. Restoring is planned for the next releases.

Does the program work in Portable mode?

Yes, when you select the appropriate option in the application installer, configuration files, databases, etc. will be stored in the directory of the executable file, if you have write permissions to this directory. Application uninstaller will not be created, the Windows registry entry will not be added.

N.B. Do not install SaveGamePro application in portable mode inside %Program Files% directory, there is no possibility to write config, etc inside this directory for app running without admin privilegies. SaveGamePro checks write permission upon startup, an if tests failed it will running in normal (not Portable) mode.

Does the program support Unicode in paths?

Yes, Unicode in paths supported.

Can I customize the name of the created archive?

Yes you can, look at the application settings.

Is it possible to show or not show the info window when monitoring the game?

Yes you can, look at the application settings.

Is it possible to use or not use sound notification when monitoring the game?

Yes you can (separately for successful or failed operation result), look at the application settings.