- Launcher starts "main.py" file, which copy Recultis icon to "~/.icon/" directory (this will allow launcher to use it) and checks for dependencies. If any dependency is missing, the "xtermina" will be started and inform user about it. If all dependencies are present "recultis.py" file is started.
- Launcher starts "main.py" file, which copy Recultis icon to "~/.icon/" directory (this will allow launcher to use it) and checks for dependencies. If any dependency is missing, the "xterminal" will be started and inform user about it. If all dependencies are present "recultis.py" file is started.
- "recultis.py" will draw interface using PyQt5. Another thread is started by QThread, to check for software update and games status. This allows to show interface to the user even before status is checked. Once it is checked, it is also displayed.
- "recultis.py" will draw interface using PyQt5. Another thread is started by QThread, to check for software update and games status. This allows to show interface to the user even before status is checked. Once it is checked, it is also displayed.
- User selects game and digital distribution platform (Steam) and provides login and password for it.
- User selects game and digital distribution platform (Steam/GOG) and provides login and password for it.
- Once user clicks "Install", "chosen_game.py" is imported. New thread is called (_thread) using "chosen_game.start" method and provides to it selected digital distribution platform name, login and password. Progress bar is updated in the same thread using "tools/status.py". The game name is provided to "status.py" and status text and progress percent is returned. "status.py" is getting info from analyzing log files and checking files on the disk. It does not communicate with other threads.
- Once user clicks "Install", "chosen_game.py" is imported. New thread is called (_thread) using "chosen_game.start" method and provides to it selected digital distribution platform name, login and password. Progress bar is updated in the same thread using "tools/status.py". The game name is provided to "status.py" and status text and progress percent is returned. "status.py" is getting info from analyzing log files and checking files on the disk. It does not communicate with other threads.
- "chosen_game.start" method creates game dir (if not present), uses "tools/steam.py" to download game content, download game engine from "link.txt" file ("tools/download_engine.py"), unpack engine ("tools/unpack_deb.py"). The it uses internal method "prepare_engine" to copy engine files to right places and "launchers" to prepare game launchers. After this temporary files are cleaned.
- "chosen_game.start" method creates game dir (if not present), uses "tools/steam.py" to download game content, download game engine from PPA repository ("tools/download_engine.py"), unpack engine ("tools/unpack_deb.py"). Then it uses internal method "prepare_engine" to copy engine files to right places and "launchers" to prepare game launchers. After this temporary files are cleaned.
- "chosen_game.py" also provides "info" method to give all informations about game needed by other tools.
- "chosen_game.py" also provides "info" method to give all informations about game needed by other tools.