trainerbase 3.16.0__tar.gz → 3.16.1__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {trainerbase-3.16.0 → trainerbase-3.16.1}/PKG-INFO +1 -1
- {trainerbase-3.16.0 → trainerbase-3.16.1}/pyproject.toml +1 -1
- {trainerbase-3.16.0 → trainerbase-3.16.1}/trainerbase/common/rainbow.py +0 -3
- {trainerbase-3.16.0 → trainerbase-3.16.1}/trainerbase/gui/helpers.py +4 -1
- {trainerbase-3.16.0 → trainerbase-3.16.1}/trainerbase/main.py +10 -5
- {trainerbase-3.16.0 → trainerbase-3.16.1}/LICENSE +0 -0
- {trainerbase-3.16.0 → trainerbase-3.16.1}/README.md +0 -0
- {trainerbase-3.16.0 → trainerbase-3.16.1}/trainerbase/__init__.py +0 -0
- {trainerbase-3.16.0 → trainerbase-3.16.1}/trainerbase/codeinjection.py +0 -0
- {trainerbase-3.16.0 → trainerbase-3.16.1}/trainerbase/common/__init__.py +0 -0
- {trainerbase-3.16.0 → trainerbase-3.16.1}/trainerbase/common/abc.py +0 -0
- {trainerbase-3.16.0 → trainerbase-3.16.1}/trainerbase/common/helpers.py +0 -0
- {trainerbase-3.16.0 → trainerbase-3.16.1}/trainerbase/common/keyboard.py +0 -0
- {trainerbase-3.16.0 → trainerbase-3.16.1}/trainerbase/common/teleport.py +0 -0
- {trainerbase-3.16.0 → trainerbase-3.16.1}/trainerbase/config.py +0 -0
- {trainerbase-3.16.0 → trainerbase-3.16.1}/trainerbase/gameobject.py +0 -0
- {trainerbase-3.16.0 → trainerbase-3.16.1}/trainerbase/gui/__init__.py +0 -0
- {trainerbase-3.16.0 → trainerbase-3.16.1}/trainerbase/gui/injections.py +0 -0
- {trainerbase-3.16.0 → trainerbase-3.16.1}/trainerbase/gui/misc.py +0 -0
- {trainerbase-3.16.0 → trainerbase-3.16.1}/trainerbase/gui/objects.py +0 -0
- {trainerbase-3.16.0 → trainerbase-3.16.1}/trainerbase/gui/rainbow.py +0 -0
- {trainerbase-3.16.0 → trainerbase-3.16.1}/trainerbase/gui/scripts.py +0 -0
- {trainerbase-3.16.0 → trainerbase-3.16.1}/trainerbase/gui/speedhack.py +0 -0
- {trainerbase-3.16.0 → trainerbase-3.16.1}/trainerbase/gui/teleport.py +0 -0
- {trainerbase-3.16.0 → trainerbase-3.16.1}/trainerbase/gui/types.py +0 -0
- {trainerbase-3.16.0 → trainerbase-3.16.1}/trainerbase/memory.py +0 -0
- {trainerbase-3.16.0 → trainerbase-3.16.1}/trainerbase/process.py +0 -0
- {trainerbase-3.16.0 → trainerbase-3.16.1}/trainerbase/scriptengine.py +0 -0
- {trainerbase-3.16.0 → trainerbase-3.16.1}/trainerbase/speedhack.py +0 -0
- {trainerbase-3.16.0 → trainerbase-3.16.1}/trainerbase/tts.py +0 -0
- {trainerbase-3.16.0 → trainerbase-3.16.1}/trainerbase_vendor/FASM.EXE +0 -0
- {trainerbase-3.16.0 → trainerbase-3.16.1}/trainerbase_vendor/speedhack32.dll +0 -0
- {trainerbase-3.16.0 → trainerbase-3.16.1}/trainerbase_vendor/speedhack64.dll +0 -0
|
@@ -3,8 +3,6 @@ from itertools import cycle
|
|
|
3
3
|
|
|
4
4
|
from dearpygui import dearpygui as dpg
|
|
5
5
|
|
|
6
|
-
from trainerbase.scriptengine import Script, rainbow_script_engine
|
|
7
|
-
|
|
8
6
|
|
|
9
7
|
type TagList = list[int | str]
|
|
10
8
|
type Color = tuple[int, int, int]
|
|
@@ -91,4 +89,3 @@ class GradientUpdater:
|
|
|
91
89
|
|
|
92
90
|
|
|
93
91
|
gradient_updater = GradientUpdater()
|
|
94
|
-
rainbow_script_engine.register_script(Script(gradient_updater, enabled=True))
|
|
@@ -23,7 +23,7 @@ def simple_trainerbase_menu(
|
|
|
23
23
|
):
|
|
24
24
|
def menu_decorator(initializer: Callable[[], None]):
|
|
25
25
|
@wraps(initializer)
|
|
26
|
-
def run_menu_wrapper(on_initialized: Callable[[], None]):
|
|
26
|
+
def run_menu_wrapper(on_initialized: Callable[[], None], on_shutdown: Callable[[], None]):
|
|
27
27
|
dpg.create_context()
|
|
28
28
|
dpg.create_viewport(
|
|
29
29
|
title=window_title,
|
|
@@ -59,6 +59,9 @@ def simple_trainerbase_menu(
|
|
|
59
59
|
on_initialized()
|
|
60
60
|
|
|
61
61
|
dpg.start_dearpygui()
|
|
62
|
+
|
|
63
|
+
on_shutdown() # it's better to call it here, because after destroy_context it may not be possible
|
|
64
|
+
|
|
62
65
|
dpg.destroy_context()
|
|
63
66
|
|
|
64
67
|
return run_menu_wrapper
|
|
@@ -4,6 +4,7 @@ from traceback import print_exc
|
|
|
4
4
|
from typing import NoReturn
|
|
5
5
|
|
|
6
6
|
from trainerbase.codeinjection import safely_eject_all_code_injections
|
|
7
|
+
from trainerbase.common.rainbow import gradient_updater
|
|
7
8
|
from trainerbase.gameobject import update_frozen_objects
|
|
8
9
|
from trainerbase.gui.objects import update_displayed_objects
|
|
9
10
|
from trainerbase.process import show_message_and_shutdown_if_process_exited
|
|
@@ -16,15 +17,18 @@ from trainerbase.scriptengine import (
|
|
|
16
17
|
from trainerbase.speedhack import SpeedHack
|
|
17
18
|
|
|
18
19
|
|
|
20
|
+
type Callback = Callable[[], None]
|
|
21
|
+
|
|
22
|
+
|
|
19
23
|
def run( # pylint: disable=too-complex
|
|
20
|
-
run_gui: Callable[[
|
|
21
|
-
on_gui_initialized_hook:
|
|
22
|
-
on_shutdown_hook:
|
|
24
|
+
run_gui: Callable[[Callback, Callback], None],
|
|
25
|
+
on_gui_initialized_hook: Callback | None = None,
|
|
26
|
+
on_shutdown_hook: Callback | None = None,
|
|
23
27
|
) -> NoReturn:
|
|
24
28
|
def on_shutdown() -> NoReturn:
|
|
29
|
+
rainbow_script_engine.stop()
|
|
25
30
|
system_script_engine.stop()
|
|
26
31
|
process_healthcheck_script_engine.stop()
|
|
27
|
-
rainbow_script_engine.stop()
|
|
28
32
|
|
|
29
33
|
safely_eject_all_code_injections()
|
|
30
34
|
SpeedHack.disable()
|
|
@@ -49,9 +53,10 @@ def run( # pylint: disable=too-complex
|
|
|
49
53
|
system_script_engine.register_script(Script(update_frozen_objects, enabled=True))
|
|
50
54
|
system_script_engine.register_script(Script(update_displayed_objects, enabled=True))
|
|
51
55
|
process_healthcheck_script_engine.register_script(Script(show_message_and_shutdown_if_process_exited, enabled=True))
|
|
56
|
+
rainbow_script_engine.register_script(Script(gradient_updater, enabled=True))
|
|
52
57
|
|
|
53
58
|
try:
|
|
54
|
-
run_gui(on_gui_initialized)
|
|
59
|
+
run_gui(on_gui_initialized, on_shutdown)
|
|
55
60
|
except Exception:
|
|
56
61
|
print_exc()
|
|
57
62
|
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|