Source code for BaseMod.Configs

from PySide6.QtCore import Qt, QByteArray
from PySide6.QtGui import QColor, QKeySequence

from RWS.Configurable import KeyConfigurable, EnumFlagConfigurable, StringConfigurable, ColorConfigurable, \
    BoolConfigurable
from RWS.Core import HotkeyElement, get_hotkeys_from_pattern


[docs] class BaseModConfig:
[docs] def __init__(self, mod): self.movement_button = EnumFlagConfigurable(mod, "basemod.movement_button", Qt.MouseButton.MiddleButton, Qt.MouseButton, "button to move viewport") self.main_button = EnumFlagConfigurable(mod, "basemod.main_button", Qt.MouseButton.LeftButton, Qt.MouseButton, "Main button") self.sec_button = EnumFlagConfigurable(mod, "basemod.secondary_button", Qt.MouseButton.RightButton, Qt.MouseButton, "Secondary button") self.icon_color = ColorConfigurable(mod, "basemod.icon_theme", QColor(255, 255, 255, 255)) self.zoom_in_key = KeyConfigurable(mod, "basemod.zoomin", "Ctrl+=", "Zoom In") self.zoom_out_key = KeyConfigurable(mod, "basemod.zoomout", "Ctrl+-", "Zoom Out") self.undo_key = KeyConfigurable(mod, "basemod.undo", QKeySequence.StandardKey.Undo, "Undo") self.redo_key = KeyConfigurable(mod, "basemod.redo", QKeySequence.StandardKey.Redo, "Redo") self.save_key = KeyConfigurable(mod, "basemod.save", QKeySequence.StandardKey.Save, "Save the level") self.save_as_key = KeyConfigurable(mod, "basemod.saveas", QKeySequence.StandardKey.SaveAs, "Save level but different") self.open_key = KeyConfigurable(mod, "basemod.open", QKeySequence.StandardKey.Open, "Open the level") self.new_key = KeyConfigurable(mod, "basemod.new", QKeySequence.StandardKey.New, "New level") self.close_key = KeyConfigurable(mod, "basemod.close", QKeySequence.StandardKey.Close, "Close RWE#") self.render_key = KeyConfigurable(mod, "basemod.render", "Ctrl+r", "Render") self.opendrizzle_key = KeyConfigurable(mod, "basemod.opendrizzle", "Ctrl+Shift+d", "Open Drizzle") self.reset_viewport_key = KeyConfigurable(mod, "basemod.reset_viewport", "", "Reset Viewport") self.about_key = KeyConfigurable(mod, "basemod.about", QKeySequence.StandardKey.HelpContents, "About menu") self.settings_key = KeyConfigurable(mod, "basemod.settings", "Ctrl+`", "Open settings menu") self.hotkey_key = KeyConfigurable(mod, "basemod.hotkeys", "Ctrl+Shift+`", "Open hotkey menu") self.view_key = KeyConfigurable(mod, "basemod.view", "Ctrl+Shift+v", "Open view tab") self.edit_key = KeyConfigurable(mod, "basemod.edit", "Ctrl+Shift+t", "Open edit tab") self.prefabs_key = KeyConfigurable(mod, "basemod.prefabs", "Ctrl+Shift+f", "Open prefabs tab") self.tileexplorer_key = KeyConfigurable(mod, "basemod.tileexplorer", "Ctrl+shift+r", "Open tile explorer") self.propexplorer_key = KeyConfigurable(mod, "basemod.propexplorer", "Ctrl+shift+p", "Open prop explorer") self.effectexplorer_key = KeyConfigurable(mod, "basemod.effectexplorer", "Ctrl+shift+e", "Open effect explorer") self.geometry_editor = KeyConfigurable(mod, "basemod.geo", "1", "Open Geometry editor") self.tile_editor = KeyConfigurable(mod, "basemod.tiles", "2", "Open Tile editor") self.effect_editor = KeyConfigurable(mod, "basemod.effect", "3", "Open Effect editor") self.prop_editor = KeyConfigurable(mod, "basemod.props", "4", "Open Prop editor") self.camera_editor = KeyConfigurable(mod, "basemod.cameras", "5", "Open Camera editor") self.light_editor = KeyConfigurable(mod, "basemod.light", "6", "Open Light editor") self.property_editor = KeyConfigurable(mod, "basemod.property", "7", "Open Property editor") self.next_layer = KeyConfigurable(mod, "basemod.nextlayer", "l", "Next layer") self.prev_layer = KeyConfigurable(mod, "basemod.prevlayer", "Ctrl+l", "Previous Layer") self.funny_vid = BoolConfigurable(mod, "basemod.funnyvid", True, "Funny video when you close rwe#") self.funny = BoolConfigurable(mod, "basemod.funny", True, "Adds funny") self.more_funny = BoolConfigurable(mod, "basemod.morefunny", False, "Adds more funny") self.recentfiles = StringConfigurable(mod, "basemod.recentfiles", "", "Recently Opened Level") self.windowstate = StringConfigurable(mod, "basemod.windowstate", b"", "Main window state") self.windowgeo = StringConfigurable(mod, "basemod.windowgeo", b"", "Main window state") try: mod.manager.window.restoreState(QByteArray.fromStdString(self.windowstate.value)) mod.manager.window.restoreGeometry(QByteArray.fromStdString(self.windowgeo.value)) except TypeError: pass edittab = HotkeyElement(mod, "Edit", "edit").add_myself() edittab.add_children_configurables(*get_hotkeys_from_pattern(mod, "basemod"))