diff --git a/README.md b/README.md index 31bb417..0edca74 100644 --- a/README.md +++ b/README.md @@ -14,7 +14,7 @@ It is highly recommended to let botty run with /nopickup active. This will reduc ### 1) Graphics and Gameplay Settings -All settings will automatically be set when you execute `run.exe` and press the hotkey for "Adjust D2R settings" (default f9). Note that D2R should not run during this process, or if it does you will have to restart afterwards. It is not a 100% thing, in rare cases you might still have to fiddle around with your brightness. I suggest using the "Graphic Debugger" to verify your settings. +All settings will automatically be set when you execute `main.exe` and press the hotkey for "Adjust D2R settings" (default f9). Note that D2R should not run during this process, or if it does you will have to restart afterwards. It is not a 100% thing, in rare cases you might still have to fiddle around with your brightness. I suggest using the "Graphic Debugger" to verify your settings. **Note**: There have been issues reported with image sharpening being truned on via the graphic card settings itself outside of D2R. Try turning it off when running botty. Also HDR should be truned off. ### 2) Supported builds @@ -38,7 +38,7 @@ Open up D2R and wait till you are at the hero selection screen. Make sure the ch ### 4) Start Botty -You can either run from python. Follow [development.md](development.md) for that. Or you download the a prebuilt release [here](https://github.com/aeon0/botty/releases). Start `run.exe` in the botty folder. Focus your D2R window window and press the start key (default f11). You can always force stop botty with f12. +You can either run from python. Follow [development.md](development.md) for that. Or you download the a prebuilt release [here](https://github.com/aeon0/botty/releases). Start `main.exe` in the botty folder. Focus your D2R window window and press the start key (default f11). You can always force stop botty with f12. ## Graphic Debugger diff --git a/development.md b/development.md index 86a9c16..2b2423c 100644 --- a/development.md +++ b/development.md @@ -10,7 +10,7 @@ git clone https://github.com/aeon0/botty.git cd botty conda env create environment.yml conda activate botty -python src/run.py +python src/main.py ``` Important info for Powershell users: ```bash @@ -56,7 +56,7 @@ Want to implement a new char or build. Check this folder out. You will have to i Utilities functions and scripts e.g. for easily creating templates to traverse nodes and automatically generate code for it
## Code routine -run.py contains the main() function and is the entry point for botty. It will start 3 threads: death monitoring (death_manager.py), health monitoring (health_manager.py) and the bot (bot.py) itself. Whenever the two monitors either detect a player's death or chicken out of the game, the bot thread will be killed and restarted.
+main.py contains the main() function and is the entry point for botty. It will start 3 threads: death monitoring (death_manager.py), health monitoring (health_manager.py) and the bot (bot.py) itself. Whenever the two monitors either detect a player's death or chicken out of the game, the bot thread will be killed and restarted.
In bot.py is a state machine in its core an executes different actions based on the current state. The goal is to remove as much implementation details as possible from bot.py and "hide" them in different manager classes (e.g. pickit.py, pather.py, npc_manager.py, etc.) ## State Diagram diff --git a/release.py b/release.py index 6fd2a25..7b2e9ce 100644 --- a/release.py +++ b/release.py @@ -53,7 +53,7 @@ if __name__ == "__main__": shutil.rmtree(path) shutil.rmtree(botty_dir) - installer_cmd = f"pyinstaller --onefile --distpath {botty_dir} --exclude-module graphviz --paths .\\src --paths {args.conda_path}\\envs\\botty\\lib\\site-packages src\\run.py" + installer_cmd = f"pyinstaller --onefile --distpath {botty_dir} --exclude-module graphviz --paths .\\src --paths {args.conda_path}\\envs\\botty\\lib\\site-packages src\\main.py" os.system(installer_cmd) os.system(f"mkdir {botty_dir}") diff --git a/src/death_manager.py b/src/death_manager.py index d0fcebd..50b0417 100644 --- a/src/death_manager.py +++ b/src/death_manager.py @@ -73,7 +73,7 @@ class DeathManager: while self._do_monitor: if self._died: continue time.sleep(self._loop_delay) # no need to do this too frequent, when we died we are not in a hurry... - # Wait until the flag is reset by run.py + # Wait until the flag is reset by main.py if self._died: continue self.handle_death_screen() Logger.debug("Stop death monitoring") diff --git a/src/health_manager.py b/src/health_manager.py index 6b18b7f..e2f0510 100644 --- a/src/health_manager.py +++ b/src/health_manager.py @@ -105,7 +105,7 @@ class HealthManager: start = time.time() while self._do_monitor: time.sleep(0.1) - # Wait until the flag is reset by run.py + # Wait until the flag is reset by main.py if self._did_chicken or self._pausing: continue img = self._screen.grab() # TODO: Check if in town or not! Otherwise risk endless chicken loop diff --git a/src/run.py b/src/main.py similarity index 100% rename from src/run.py rename to src/main.py