Features: - Fuzzy search for finding destination rooms - Lists all TransitionPieces in selected room as arrival points - Bidirectional wiring - updates return transition automatically - Auto-reloads destination scene in editor - UndoRedo support for source scene changes Files added: - addons/transition_configurator/plugin.cfg - addons/transition_configurator/transition_configurator.gd - addons/transition_configurator/transition_inspector_plugin.gd - addons/transition_configurator/config_dialog.gd - addons/transition_configurator/fuzzy_search.gd - addons/transition_configurator/README.md
59 lines
2.1 KiB
Markdown
59 lines
2.1 KiB
Markdown
# 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
|