Skip to content

Commit e666f10

Browse files
docs(README.md): updated documentation
updated readme in documentation to initial version Signed-off-by: Mythical-Github <MythicalData@gmail.com>
1 parent 949e9b1 commit e666f10

File tree

16 files changed

+252
-1299
lines changed

16 files changed

+252
-1299
lines changed

README.md

Lines changed: 73 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,73 @@
1+
## UE4SS Installer GUI
2+
3+
This is a gui installer/manager for [UE4SS](https://github.com/UE4SS-RE/RE-UE4SS).
4+
UE4SS consists of an injectable LUA scripting system, SDK generator, live property editor, other dumping utilities for UE4/5 games and more.
5+
6+
7+
### Download
8+
- Click [here](https://github.com/Mythical-Github/ue4ss_installer_gui/releases/latest) to be redirected to the latest prebuilt release.
9+
10+
11+
### Project Example:
12+
<img src="https://github.com/user-attachments/assets/b3716580-c31c-4691-8ec6-7c4299a9f83e" alt="example" width="50%" height="50%">
13+
14+
15+
### Features:
16+
- Online/Offline support
17+
- Localization
18+
- Install
19+
- Uninstall
20+
- Install from zip
21+
- Supports windows/linux
22+
- Filterable version tag selection
23+
- Filterable release archive to install selection
24+
- Tags, and releases sorted by newest to latest
25+
- Open game executable directory in file browser button
26+
- Automatic game detection
27+
- Ability to provide extra directories to scan for games
28+
- Ability to add games manually
29+
- Handles multiple installs of one game
30+
- Portable install filter
31+
- Developer install filter
32+
- Prerelease install filter
33+
- Social buttons
34+
35+
36+
### Join the Discord
37+
If you have any problems, suggestions, or just want to chat, feel free to join the [Discord](https://discord.gg/7qhRGHF9Tt)
38+
39+
40+
### Suggestions
41+
If you have ideas or suggestions for the tool feel free to open a [suggestions issue](https://github.com/Mythical-Github/ue4ss_installer_gui/issues) or mention it in the discord.
42+
43+
44+
### Bug Reports
45+
If you encounter a bug or issue, please submit a report on the [issues page](https://github.com/Mythical-Github/ue4ss_installer_gui/issues).
46+
When creating an issue, please provide as much information as possible, including:
47+
- Steps to reproduce the issue
48+
- What you expect to happen, versus what is happening
49+
- Any error messages or logs
50+
- Your system operating system
51+
52+
53+
### Contributing
54+
Contributions are always appreciated, but please keep in mind the following:
55+
- Before coding new features, try to make an issue to see if the idea/implementation needs any tweaking, or is out of scope
56+
- Please make sure all code submissions pass all pre-commit checks
57+
58+
59+
### Technologies:
60+
61+
- **[DearPyGUI](https://github.com/Textualize/textual)** - Framework for creating TUI (Text User Interfaces) with Python.
62+
- **[Hatch](https://github.com/pypa/hatch)** - Modern project management tool for Python.
63+
- **[UV](https://github.com/astral-sh/uv)** - An extremely fast Python package and project manager, written in Rust.
64+
- **[PyInstaller](https://github.com/pyinstaller/pyinstaller)** - Tool to convert Python programs into standalone executables.
65+
- **[Ruff](https://github.com/astral-sh/ruff)** - Fast Python linter and code formatting tool.
66+
- **[PyProjectDevTools](https://github.com/Mythical-Github/py_project_dev_tools)** - A set of generic tools for Python applications, using Hatch, UV, and PyInstaller.
67+
- **[Pyright](https://github.com/microsoft/pyright)** - A fast type checker for Python.
68+
- **[Precommit](https://github.com/pre-commit/pre-commit)** - A framework for managing and maintaining multi-language pre-commit hooks.
69+
- **[Commitizen](https://github.com/commitizen-tools/commitizen)** - A tool to help you write consistent commit messages, and manage versioning.
70+
71+
72+
### License:
73+
[![license](https://www.gnu.org/graphics/gplv3-with-text-136x68.png)](LICENSE)

assets/base/assets/localization/en.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@
99
"enable_pre_releases_text_label": "Enable pre-releases",
1010
"game_directory_text_label": "Game Directory:",
1111
"github_button_text": "Github",
12-
"header_text": "UE4SS",
12+
"header_text": "UE4SS Installer",
1313
"install_button_text": "Install",
1414
"install_developer_version_text_label": "Install developer version (when applicable)",
1515
"install_failed_message_text": "The install failed",

assets/to_do_list.txt

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,12 @@
11
Next:
22

3-
# retest on linux
3+
# offline check removes social buttons
4+
# loading screen for scanning games
5+
# fix installs that only have ue4ss files
6+
# seems at times dupes for games can appear from the above as well right now
7+
# sometimes it doesn't properly remember the preferences of the checkboxes
8+
# sometimes the install button can be pressed, when no file to install is selected, prevent this somehow
9+
# bring back keep mods and settings and make uninstall more robust
410

511

612
Later:

src/ue4ss_installer_gui/assets/localization/en.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@
99
"enable_pre_releases_text_label": "Enable pre-releases",
1010
"game_directory_text_label": "Game Directory:",
1111
"github_button_text": "Github",
12-
"header_text": "UE4SS",
12+
"header_text": "UE4SS Installer",
1313
"install_button_text": "Install",
1414
"install_developer_version_text_label": "Install developer version (when applicable)",
1515
"install_failed_message_text": "The install failed",
Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
import socket
2+
3+
4+
is_online = False
5+
6+
7+
def init_is_online(timeout: float = 1):
8+
global is_online
9+
try:
10+
socket.create_connection(("8.8.8.8", 53), timeout=timeout)
11+
is_online = True
12+
except (socket.timeout, OSError):
13+
is_online = False

src/ue4ss_installer_gui/initialization.py

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,14 +2,18 @@
22
import asyncio
33

44
from ue4ss_installer_gui import ue4ss, settings, translator, logger, file_io
5+
from ue4ss_installer_gui.checks import online_check
56

67

78
def init():
9+
online_check.init_is_online()
10+
print(f'Is online: {online_check.is_online}')
811
logger.set_log_base_dir(os.path.normpath(f"{file_io.SCRIPT_DIR}/logs"))
912
logger.configure_logging()
1013
settings.init_settings()
1114
translator.init_translator()
12-
asyncio.run(auto_fetch_tags_on_start())
15+
if online_check.is_online:
16+
asyncio.run(auto_fetch_tags_on_start())
1317
asyncio.run(auto_scan_dirs())
1418

1519

src/ue4ss_installer_gui/main.py

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
import os
22
import dearpygui.dearpygui as dpg
33

4-
from ue4ss_installer_gui.screens import main_screen as main_screen
4+
from ue4ss_installer_gui.screens import main_screen
55
from ue4ss_installer_gui import file_io, constants, settings, initialization
66

77

@@ -54,6 +54,7 @@ def main():
5454
dpg.set_viewport_large_icon(icon_path)
5555

5656
main_screen.push_main_screen()
57+
5758
dpg.set_viewport_pos([constants.X, constants.Y])
5859
dpg.setup_dearpygui()
5960
dpg.set_primary_window("main_window", True)

0 commit comments

Comments
 (0)