diff --git a/backend/mod.py b/backend/mod.py index 05be3f1..0ea45f0 100644 --- a/backend/mod.py +++ b/backend/mod.py @@ -3,6 +3,7 @@ import os from pathlib import Path import shutil +import tkinter from tkinter import filedialog import zipfile from dacite import from_dict @@ -114,8 +115,12 @@ def rename_mod(name, new_name, new_description): @eel.expose def import_mod(): - path = filedialog.askopenfilename(defaultextension='.gearthon', filetypes=[('Gearthon Mods', '*.gearthon')]) - + root = tkinter.Tk() + root.focus_force() + root.overrideredirect(True) + root.geometry('0x0+0+0') + path = filedialog.askopenfilename(defaultextension='.gearthon', filetypes=[('Gearthon Mods', '*.gearthon')], title='Import Mod') + root.destroy() with zipfile.ZipFile(path) as zip: first_dir = zip.filelist[0].filename from backend.appdata import appdata @@ -128,7 +133,12 @@ def import_mod(): @eel.expose def export_mod(name): + root = tkinter.Tk() + root.focus_force() + root.overrideredirect(True) + root.geometry('0x0+0+0') path = filedialog.askdirectory() + root.destroy() from backend.appdata import appdata mod_path = Path(f'{appdata.mods_folder()}/{name}') shutil.make_archive(f'{path}/{name}.gearthon', 'zip', root_dir=mod_path.parent, base_dir=f'./{name}') diff --git a/classes/Part.py b/classes/Part.py index ce670f5..1badab5 100644 --- a/classes/Part.py +++ b/classes/Part.py @@ -9,7 +9,7 @@ from classes.JoystickTweakable import JoystickTweakable from classes.Link import Link from classes.StringTweakable import StringTweakable - +from classes.Vector3 import Vector3 @dataclass class Part: @@ -39,6 +39,8 @@ class Part: is_paintable: bool = field(default=False, metadata={'label': 'Paintable'}) is_swappable_material: bool = field(default=False, metadata={'label': 'Swappable Material'}) mesh_collider: bool = field(default=False, metadata={'label': '(EXPERIMENTAL) Use Mesh Collider'}) + custom_collider: bool = field(default=False, metadata={'label': '(EXPERIMENTAL) Custom Collider'}) + custom_collider_position: Vector3 = field(default_factory=lambda: Vector3(0, 0, 0), metadata={'label': 'Custom Collider Position'}) script: str = field(default='', metadata={'label': 'Script', 'hidden': True}) int_tweakables: List[IntTweakable] = field(default_factory=list, metadata={'hidden': True}) string_tweakables: List[StringTweakable] = field(default_factory=list, metadata={'hidden': True}) diff --git a/web/editor.html b/web/editor.html index 455d792..8803731 100644 --- a/web/editor.html +++ b/web/editor.html @@ -1,5 +1,5 @@ -