|
1 | 1 | # Steam Lua Patcher |
2 | 2 |
|
3 | | -A simple tool to search for Steam games, locate and copy corresponding Lua patch files to the Steam configuration directory, and restart Steam. |
| 3 | +A modern, powerful tool designed to search for Steam games, automatically locate corresponding Lua patch files, and apply them to your Steam configuration. It features a sleek, dark-themed UI and seamless Steam integration. |
| 4 | + |
| 5 | + |
| 6 | + |
| 7 | + |
| 8 | +## ✨ Features |
| 9 | + |
| 10 | +- **Game Search**: Instantly search for supported games using a rich, real-time index. |
| 11 | +- **One-Click Patching**: Automatically downloads and places Lua patch files in the correct Steam directory (`steam/config/stplug-in`). |
| 12 | +- **Steam Integration**: Includes a built-in utility to restart Steam to apply changes immediately. |
| 13 | +- **Modern UI**: Built with Qt6, featuring a custom dark theme, glassmorphism effects, and responsive design. |
| 14 | +- **Standalone**: Available as a single, portable `.exe` file. |
| 15 | + |
| 16 | +## 📥 Download & Usage |
| 17 | + |
| 18 | +1. **Download**: Get the latest `SteamLuaPatcher.exe` from the [Releases](../../releases) page. |
| 19 | +2. **Run**: Double-click the executable. No installation is required. |
| 20 | +3. **Patch**: |
| 21 | + - Type the name of the game you want to patch. |
| 22 | + - Click the **Patch** button next to the game. |
| 23 | + - Once finished, click the **Restart Steam** button to apply changes. |
4 | 24 |
|
5 | 25 | > [!IMPORTANT] |
6 | | -> To use this app, you must have **Steam Tools** installed. |
| 26 | +> You must have **Steam Tools** installed for the patches to work correctly, as this tool places files in the `stplug-in` directory. |
| 27 | +
|
| 28 | +## 🛠️ Building from Source |
| 29 | + |
| 30 | +If you want to modify the code or build it yourself, follow these steps. |
| 31 | + |
| 32 | +### Prerequisites |
7 | 33 |
|
8 | | -## Features |
9 | | -- Search for Steam games |
10 | | -- Apply Lua patches |
11 | | -- Restart Steam |
12 | | -- Modern UI |
| 34 | +- Windows 10/11 |
| 35 | +- Administrator privileges (for installing dependencies via Chocolatey) |
13 | 36 |
|
14 | | -## Download |
| 37 | +### 1. Setup Environment |
15 | 38 |
|
16 | | -Download the latest release from [Releases](../../releases). |
| 39 | +We provide a one-click script to set up the entire development environment (Qt6, CMake, MinGW, Ninja, Python). |
17 | 40 |
|
18 | | -**Just download `SteamLuaPatcher.exe` and double-click to run!** No installation needed. |
| 41 | +1. Open a terminal as **Administrator**. |
| 42 | +2. Run the setup script: |
| 43 | + ```cmd |
| 44 | + setup_build_environment.bat |
| 45 | + ``` |
| 46 | + *This will install all necessary tools and configure your path.* |
19 | 47 |
|
20 | | -## Building from Source |
| 48 | +### 2. Build the Project |
21 | 49 |
|
22 | | -### Standard Build (with DLLs) |
23 | | -1. Run `setup_build_environment.bat` as Administrator to install dependencies (Qt6, CMake, MinGW) |
24 | | -2. Run `build.bat` to configure and build |
25 | | -3. The executable + DLLs will be in the `dist` folder |
| 50 | +#### Option A: Standard Build (Faster) |
| 51 | +Useful for development. The output executable requires Qt DLLs to run. |
26 | 52 |
|
27 | | -### Standalone Build (single .exe) |
28 | | -1. Run `setup_build_environment.bat` as Administrator (if not already done) |
29 | | -2. Run `build_static.bat` to build with static Qt |
30 | | -3. A single standalone `SteamLuaPatcher.exe` will be in the `dist_static` folder |
| 53 | +1. Run the build script: |
| 54 | + ```cmd |
| 55 | + build.bat |
| 56 | + ``` |
| 57 | +2. The executable will be located in the `dist` folder. |
| 58 | +
|
| 59 | +#### Option B: Standalone Static Build (deployment) |
| 60 | +Creates a single `.exe` file with no external dependencies. |
| 61 | +
|
| 62 | +1. Run the static build script: |
| 63 | + ```cmd |
| 64 | + build_static.bat |
| 65 | + ``` |
| 66 | +2. The standalone executable will be located in the `dist_static` folder. |
31 | 67 |
|
32 | 68 | > [!NOTE] |
33 | | -> First static build takes 2-4 hours to compile Qt. Subsequent builds are fast. |
| 69 | +> The **first** time you run `build_static.bat`, it will compile Qt from source. This process can take **2-4 hours**. Subsequent builds will be much faster. |
| 70 | +
|
| 71 | +## 🏗️ Architecture |
| 72 | +
|
| 73 | +### Project Structure |
| 74 | +
|
| 75 | +- **`src/`**: C++ source code for the GUI and logic. |
| 76 | + - `mainwindow.cpp`: Main UI logic. |
| 77 | + - `workers/`: Background threads for downloading files and restarting Steam. |
| 78 | +- **`webserver/`**: Python scripts for the backend index. |
| 79 | + - `generate_index.py`: Fetches Game IDs and Names from Steam APIs to generate `games_index.json`. |
| 80 | +- **`resources/`**: Icons and assets. |
| 81 | +
|
| 82 | +
|
| 83 | +## 📄 License |
| 84 | +
|
| 85 | +This project is open-source. Feel free to fork and contribute! |
0 commit comments