# Transition Configurator Plugin A Godot 4.x editor plugin that simplifies configuring TransitionPiece exits in the King's Quest IV remake. ## Features - **Fuzzy search** for finding rooms quickly - **Visual selection** of destination TransitionPieces as arrival points - **Bidirectional wiring** - automatically updates return transitions - **Validation** - warns if destination doesn't have appropriate arrival points - **Auto-reload** - refreshes scenes in editor after changes ## Installation 1. Copy the `addons/transition_configurator/` folder to your project's `addons/` directory 2. Enable the plugin in Project Settings → Plugins 3. Restart the editor (recommended) ## Usage 1. Select a TransitionPiece node in your scene 2. In the Inspector, click the **"Configure Exit..."** button 3. Use the search box to filter rooms (fuzzy matching) 4. Click on a room to see its available TransitionPieces 5. Select an arrival point 6. Click **Apply Changes** The plugin will: - Update the selected TransitionPiece's `target` and `appear_at_node` properties - Update (or create) the return transition in the destination room - Reload the destination scene in the editor ## How It Works - **Room Discovery**: Scans `res://scenes/` for `.tscn` files starting with `kq4_` - **Arrival Points**: Lists all TransitionPiece instances in the selected room - **Bidirectional Updates**: Finds or creates a return TransitionPiece named after the current room - **UID Resolution**: Extracts UIDs from scene files for proper target references ## Files - `plugin.cfg` - Plugin metadata - `transition_configurator.gd` - Main EditorPlugin entry point - `transition_inspector_plugin.gd` - Adds UI to TransitionPiece inspector - `config_dialog.gd` - Configuration dialog with search and selection - `fuzzy_search.gd` - Fuzzy text matching utility ## Requirements - Godot 4.x - TransitionPiece class (class_name TransitionPiece) - Room scenes in `res://scenes/` following `kq4_XXX_*` naming convention ## Notes - The plugin uses UndoRedo for source scene changes - Destination scene changes are saved and reloaded automatically - If bidirectional update fails, the source changes are still applied