Compare commits
23 Commits
Author | SHA1 | Date |
---|---|---|
Spencer Killen | c38c9cbb4b | |
Spencer Killen | df09636af9 | |
EvanGee | aaee834a61 | |
EvanGee | 6668bff3dd | |
Spencer Killen | c7283297ab | |
Spencer Killen | 00ff4fd9c5 | |
Spencer Killen | c3e5073011 | |
EvanGee | c9edb73c50 | |
Spencer Killen | a88607a316 | |
Spencer Killen | 79df0710c0 | |
EvanGee | 21e16b16a5 | |
Spencer Killen | 4ff3ed3e7c | |
EvanGee | 8fbd8c86f3 | |
Spencer Killen | b54c7d72fa | |
Spencer Killen | a9dad02fb9 | |
Spencer Killen | 55d26874bd | |
Spencer Killen | 2005ef652e | |
Spencer Killen | ef5ceb0b95 | |
Spencer Killen | ba14ca7ea0 | |
Spencer Killen | f9847bcb37 | |
Spencer Killen | ef8553fe45 | |
Spencer Killen | 3eb8b2a718 | |
Spencer Killen | 6766c63abe |
|
@ -13,3 +13,7 @@
|
||||||
*.zip filter=lfs diff=lfs merge=lfs -text
|
*.zip filter=lfs diff=lfs merge=lfs -text
|
||||||
*.pur filter=lfs diff=lfs merge=lfs -text
|
*.pur filter=lfs diff=lfs merge=lfs -text
|
||||||
*.res filter=lfs diff=lfs merge=lfs -text
|
*.res filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.a filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.dll filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.dynlib filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.so filter=lfs diff=lfs merge=lfs -text
|
||||||
|
|
|
@ -0,0 +1,5 @@
|
||||||
|
# Here because gdextension does not support editor export plugin for now.
|
||||||
|
# https://github.com/godotengine/godot/issues/80593
|
||||||
|
@tool
|
||||||
|
class_name FmodEditorExportPluginProxy
|
||||||
|
extends FmodEditorExportPlugin
|
|
@ -0,0 +1,11 @@
|
||||||
|
@tool
|
||||||
|
extends Node
|
||||||
|
|
||||||
|
func _ready():
|
||||||
|
process_mode = PROCESS_MODE_ALWAYS
|
||||||
|
|
||||||
|
func _process(delta):
|
||||||
|
FmodServer.update()
|
||||||
|
|
||||||
|
func _notification(what):
|
||||||
|
FmodServer.notification(what)
|
|
@ -0,0 +1,76 @@
|
||||||
|
@tool
|
||||||
|
class_name FmodPlugin extends EditorPlugin
|
||||||
|
|
||||||
|
|
||||||
|
const ADDON_PATH = "res://addons/fmod"
|
||||||
|
|
||||||
|
|
||||||
|
@onready var theme = get_editor_interface().get_base_control().get_theme()
|
||||||
|
|
||||||
|
|
||||||
|
var fmod_bank_explorer_window: PackedScene = load("res://addons/fmod/tool/ui/FmodBankExplorer.tscn")
|
||||||
|
var bank_explorer: FmodBankExplorer
|
||||||
|
var fmod_button: Button
|
||||||
|
var export_plugin = FmodEditorExportPluginProxy.new()
|
||||||
|
var emitter_inspector_plugin = FmodEmitterPropertyInspectorPlugin.new(self)
|
||||||
|
var bank_loader_inspector_plugin = FmodBankLoaderPropertyInspectorPlugin.new(self)
|
||||||
|
|
||||||
|
|
||||||
|
func _init():
|
||||||
|
add_autoload_singleton("FmodManager", "res://addons/fmod/FmodManager.gd")
|
||||||
|
fmod_button = Button.new()
|
||||||
|
fmod_button.icon = load("res://addons/fmod/icons/fmod_icon.svg")
|
||||||
|
fmod_button.text = "Fmod Explorer"
|
||||||
|
|
||||||
|
fmod_button.pressed.connect(_on_project_explorer_button_clicked)
|
||||||
|
|
||||||
|
add_control_to_container(EditorPlugin.CONTAINER_TOOLBAR, fmod_button)
|
||||||
|
|
||||||
|
bank_explorer = fmod_bank_explorer_window.instantiate()
|
||||||
|
bank_explorer.theme = get_editor_interface().get_base_control().get_theme()
|
||||||
|
bank_explorer.visible = false
|
||||||
|
add_child(bank_explorer)
|
||||||
|
|
||||||
|
add_inspector_plugin(bank_loader_inspector_plugin)
|
||||||
|
add_inspector_plugin(emitter_inspector_plugin)
|
||||||
|
|
||||||
|
|
||||||
|
func _on_project_explorer_button_clicked():
|
||||||
|
bank_explorer.should_display_copy_buttons = true
|
||||||
|
bank_explorer.should_display_select_button = false
|
||||||
|
_popup_project_explorer(FmodBankExplorer.ToDisplayFlags.BANKS | FmodBankExplorer.ToDisplayFlags.BUSES | FmodBankExplorer.ToDisplayFlags.VCA | FmodBankExplorer.ToDisplayFlags.EVENTS)
|
||||||
|
|
||||||
|
|
||||||
|
func open_project_explorer_events(on_select_callable: Callable):
|
||||||
|
_open_project_explorer(FmodBankExplorer.ToDisplayFlags.BANKS | FmodBankExplorer.ToDisplayFlags.EVENTS, on_select_callable)
|
||||||
|
|
||||||
|
|
||||||
|
func open_project_explorer_bank(on_select_callable: Callable):
|
||||||
|
_open_project_explorer(FmodBankExplorer.ToDisplayFlags.BANKS, on_select_callable)
|
||||||
|
|
||||||
|
|
||||||
|
func _open_project_explorer(display_flag: int, on_select_callable: Callable):
|
||||||
|
bank_explorer.should_display_copy_buttons = false
|
||||||
|
bank_explorer.should_display_select_button = true
|
||||||
|
_popup_project_explorer(display_flag, on_select_callable)
|
||||||
|
|
||||||
|
|
||||||
|
func _popup_project_explorer(to_display: int, callable: Callable = Callable()):
|
||||||
|
if bank_explorer.visible == true:
|
||||||
|
bank_explorer.close_window()
|
||||||
|
return
|
||||||
|
bank_explorer.regenerate_tree(to_display, callable)
|
||||||
|
bank_explorer.popup_centered()
|
||||||
|
|
||||||
|
|
||||||
|
func _enter_tree():
|
||||||
|
add_export_plugin(export_plugin)
|
||||||
|
|
||||||
|
|
||||||
|
func _exit_tree():
|
||||||
|
remove_inspector_plugin(emitter_inspector_plugin)
|
||||||
|
remove_inspector_plugin(bank_loader_inspector_plugin)
|
||||||
|
|
||||||
|
remove_control_from_container(EditorPlugin.CONTAINER_TOOLBAR, fmod_button)
|
||||||
|
fmod_button.queue_free()
|
||||||
|
remove_export_plugin(export_plugin)
|
|
@ -0,0 +1,101 @@
|
||||||
|
[configuration]
|
||||||
|
entry_symbol = "fmod_library_init"
|
||||||
|
compatibility_minimum = 4.2
|
||||||
|
|
||||||
|
[libraries]
|
||||||
|
windows.editor.x86_64 = "res://addons/fmod/libs/windows/libGodotFmod.windows.editor.x86_64.dll"
|
||||||
|
windows.debug.x86_64 = "res://addons/fmod/libs/windows/libGodotFmod.windows.template_debug.x86_64.dll"
|
||||||
|
windows.release.x86_64 = "res://addons/fmod/libs/windows/libGodotFmod.windows.template_release.x86_64.dll"
|
||||||
|
macos.editor = "res://addons/fmod/libs/macos/libGodotFmod.macos.editor.framework"
|
||||||
|
macos.debug = "res://addons/fmod/libs/macos/libGodotFmod.macos.template_debug.framework"
|
||||||
|
macos.release = "res://addons/fmod/libs/macos/libGodotFmod.macos.template_release.framework"
|
||||||
|
linux.editor.x86_64 = "res://addons/fmod/libs/linux/libGodotFmod.linux.editor.x86_64.so"
|
||||||
|
linux.debug.x86_64 = "res://addons/fmod/libs/linux/libGodotFmod.linux.template_debug.x86_64.so"
|
||||||
|
linux.release.x86_64 = "res://addons/fmod/libs/linux/libGodotFmod.linux.template_release.x86_64.so"
|
||||||
|
android.debug.x86_64 = "res://addons/fmod/libs/android/x86_64/libGodotFmod.android.template_debug.x86_64.so"
|
||||||
|
android.release.x86_64 = "res://addons/fmod/libs/android/x86_64/libGodotFmod.android.template_release.x86_64.so"
|
||||||
|
android.debug.arm64 = "res://addons/fmod/libs/android/arm64/libGodotFmod.android.template_debug.arm64.so"
|
||||||
|
android.release.arm64 = "res://addons/fmod/libs/android/arm64/libGodotFmod.android.template_release.arm64.so"
|
||||||
|
ios.debug = "res://addons/fmod/libs/ios/libGodotFmod.ios.template_debug.universal.dylib"
|
||||||
|
ios.release = "res://addons/fmod/libs/ios/libGodotFmod.ios.template_release.universal.dylib"
|
||||||
|
|
||||||
|
[icons]
|
||||||
|
FmodEventEmitter2D = "res://addons/fmod/icons/fmod_icon.svg"
|
||||||
|
FmodEventEmitter3D = "res://addons/fmod/icons/fmod_icon.svg"
|
||||||
|
FmodListener2D = "res://addons/fmod/icons/fmod_icon.svg"
|
||||||
|
FmodListener3D = "res://addons/fmod/icons/fmod_icon.svg"
|
||||||
|
FmodBankLoader = "res://addons/fmod/icons/fmod_icon.svg"
|
||||||
|
|
||||||
|
[dependencies]
|
||||||
|
windows.editor.x86_64 = {
|
||||||
|
"libs/windows/fmodL.dll": "",
|
||||||
|
"libs/windows/fmodstudioL.dll": ""
|
||||||
|
}
|
||||||
|
windows.debug.x86_64 = {
|
||||||
|
"libs/windows/fmodL.dll": "",
|
||||||
|
"libs/windows/fmodstudioL.dll": ""
|
||||||
|
}
|
||||||
|
windows.release.x86_64 = {
|
||||||
|
"libs/windows/fmod.dll": "",
|
||||||
|
"libs/windows/fmodstudio.dll": ""
|
||||||
|
}
|
||||||
|
linux.editor.x86_64 = {
|
||||||
|
"libs/linux/libfmodL.so": "",
|
||||||
|
"libs/linux/libfmodL.so.13": "",
|
||||||
|
"libs/linux/libfmodL.so.13.12": "",
|
||||||
|
"libs/linux/libfmodstudioL.so": "",
|
||||||
|
"libs/linux/libfmodstudioL.so.13": "",
|
||||||
|
"libs/linux/libfmodstudioL.so.13.12": ""
|
||||||
|
}
|
||||||
|
linux.debug.x86_64 = {
|
||||||
|
"libs/linux/libfmodL.so": "",
|
||||||
|
"libs/linux/libfmodL.so.13": "",
|
||||||
|
"libs/linux/libfmodL.so.13.12": "",
|
||||||
|
"libs/linux/libfmodstudioL.so": "",
|
||||||
|
"libs/linux/libfmodstudioL.so.13": "",
|
||||||
|
"libs/linux/libfmodstudioL.so.13.12": ""
|
||||||
|
}
|
||||||
|
linux.release.x86_64 = {
|
||||||
|
"libs/linux/libfmod.so": "",
|
||||||
|
"libs/linux/libfmod.so.13": "",
|
||||||
|
"libs/linux/libfmod.so.13.12": "",
|
||||||
|
"libs/linux/libfmodstudio.so": "",
|
||||||
|
"libs/linux/libfmodstudio.so.13": "",
|
||||||
|
"libs/linux/libfmodstudio.so.13.12": ""
|
||||||
|
}
|
||||||
|
macos.editor = {
|
||||||
|
"libs/macos/libfmodL.dylib": "",
|
||||||
|
"libs/macos/libfmodstudioL.dylib": ""
|
||||||
|
}
|
||||||
|
macos.debug = {
|
||||||
|
"libs/macos/libfmodL.dylib": "",
|
||||||
|
"libs/macos/libfmodstudioL.dylib": ""
|
||||||
|
}
|
||||||
|
macos.release = {
|
||||||
|
"libs/macos/libfmod.dylib": "",
|
||||||
|
"libs/macos/libfmodstudio.dylib": ""
|
||||||
|
}
|
||||||
|
android.debug.x86_64 = {
|
||||||
|
"libs/android/x86_64/libfmodL.so": "",
|
||||||
|
"libs/android/x86_64/libfmodstudioL.so": "",
|
||||||
|
}
|
||||||
|
android.release.x86_64 = {
|
||||||
|
"libs/android/x86_64/libfmod.so": "",
|
||||||
|
"libs/android/x86_64/libfmodstudio.so": "",
|
||||||
|
}
|
||||||
|
android.debug.arm64 = {
|
||||||
|
"libs/android/arm64/libfmodL.so": "",
|
||||||
|
"libs/android/arm64/libfmodstudioL.so": "",
|
||||||
|
}
|
||||||
|
android.release.arm64 = {
|
||||||
|
"libs/android/arm64/libfmod.so": "",
|
||||||
|
"libs/android/arm64/libfmodstudio.so": "",
|
||||||
|
}
|
||||||
|
ios.debug = {
|
||||||
|
"libs/ios/libfmodL_iphoneos.a": "",
|
||||||
|
"libs/ios/libfmodstudioL_iphoneos.a": ""
|
||||||
|
}
|
||||||
|
ios.release = {
|
||||||
|
"libs/ios/libfmod_iphoneos.a": "",
|
||||||
|
"libs/ios/libfmodstudio_iphoneos.a": ""
|
||||||
|
}
|
|
@ -0,0 +1,9 @@
|
||||||
|
<svg version="1.2" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 21" width="20" height="21">
|
||||||
|
<title>banks_icon</title>
|
||||||
|
<defs>
|
||||||
|
<image width="20" height="21" id="img1" href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAVCAMAAABxCz6aAAAAAXNSR0IB2cksfwAAAapQTFRFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHR0dT09PUlJSWFhYV1dXUVFRS0tLKCgoAAAAAAAAAAAACgoKdnZ2kpKSjo6OjY2NkZGRh4eHAAAAAAAAAAAAAAAAGBgYVlZWUFBQMTExAAAAAAAABwcHKysrLCwsLi4uLS0tLy8vERERAAAAAAAAPDw8hoaGhYWFeXl5eHh4gYGBiYmJXFxcAAAAQUFBiIiIgICAhISEgoKCFRUVCAgIODg4dXV1YGBgAAAAQEBAg4ODe3t7ISEhEhISXV1dPz8/FhYWZmZmJCQkDAwMYmJiX19fIiIiJiYmf39/j4+PTU1NioqKCQkJbGxsMjIyd3d3fX19dHR0fn5+GhoaPj4+cnJyMzMzWlpaY2NjTk5OGxsbi4uLDQ0NZ2dnDg4OcXFxGRkZKioqZGRkfHx8EBAQW1tbAgICOzs7Q0NDHx8fCwsLREREcHBwR0dHaGhoSUlJFxcXJycnQkJCbm5uWVlZjIyMAAAAAAAAGhoaX19fMjIyAAAAAAAAAAAAAAAAnoaMsQAAAI50Uk5TABGKrbq9wcrJxa+THwrA///////////WGpv/////////wwlU//////+OxP/////////ly///////////6P/////////////n/////////////////////////////////////////////////////////////////////////////v///+a05vn2NoXh4LvdJzEAAAFmSURBVHicY2BgYGRiZmFlY+fgYOdkZeXi5mEAAl4+fgEBQSFhIBAREBAVE5cACkpKScvIykGArKy8Ar+iEoOyiqqaOhJQ01DRZNDS1tHVAQJdPT19EK1jYGjEYGwiZ2pqqiBnZm5hKWcFZMpZ2zBw2NrZ2zs4ijpJORu6uJra25u6uTNweNjZe3p5+/j6+QcEBgUr2JuGgAUtHUPDwiMi+aPsRKNjHKCCCoIqsXGm8QkKiYIqYaYQQSvLpORYj5RUg7T00IzMODuwYJZrdoqVY6CKSraXQ5RYjhVEMCE3L8ouX0UlOt7KtKAwCiwYVVQcUiJQEl1allMeV5FnBbUotjKoys612rTQKVfVXgEi6FDtXCZnF1zjIFuoIgq13c7etDbIILGu3rLOuRzueKDX8hpyg0p96oUULCGCjbLAUIiKamoWDjBtATJb0lsZ2to73EKAID0goBDC6ORk6Opm70EBvVrKAPo3aJSuHMDoAAAAAElFTkSuQmCC"/>
|
||||||
|
</defs>
|
||||||
|
<style>
|
||||||
|
</style>
|
||||||
|
<use id="Background" href="#img1" x="0" y="0"/>
|
||||||
|
</svg>
|
After Width: | Height: | Size: 1.6 KiB |
|
@ -0,0 +1,38 @@
|
||||||
|
[remap]
|
||||||
|
|
||||||
|
importer="texture"
|
||||||
|
type="CompressedTexture2D"
|
||||||
|
uid="uid://o2chsr07oeqs"
|
||||||
|
path="res://.godot/imported/bank_icon.svg-8de6c7bff09a67352e162b3c61b601de.ctex"
|
||||||
|
metadata={
|
||||||
|
"has_editor_variant": true,
|
||||||
|
"vram_texture": false
|
||||||
|
}
|
||||||
|
|
||||||
|
[deps]
|
||||||
|
|
||||||
|
source_file="res://addons/fmod/icons/bank_icon.svg"
|
||||||
|
dest_files=["res://.godot/imported/bank_icon.svg-8de6c7bff09a67352e162b3c61b601de.ctex"]
|
||||||
|
|
||||||
|
[params]
|
||||||
|
|
||||||
|
compress/mode=0
|
||||||
|
compress/high_quality=false
|
||||||
|
compress/lossy_quality=0.7
|
||||||
|
compress/hdr_compression=1
|
||||||
|
compress/normal_map=0
|
||||||
|
compress/channel_pack=0
|
||||||
|
mipmaps/generate=false
|
||||||
|
mipmaps/limit=-1
|
||||||
|
roughness/mode=0
|
||||||
|
roughness/src_normal=""
|
||||||
|
process/fix_alpha_border=true
|
||||||
|
process/premult_alpha=false
|
||||||
|
process/normal_map_invert_y=false
|
||||||
|
process/hdr_as_srgb=false
|
||||||
|
process/hdr_clamp_exposure=false
|
||||||
|
process/size_limit=0
|
||||||
|
detect_3d/compress_to=1
|
||||||
|
svg/scale=1.0
|
||||||
|
editor/scale_with_editor_scale=true
|
||||||
|
editor/convert_colors_with_editor_theme=true
|
|
@ -0,0 +1,9 @@
|
||||||
|
<svg version="1.2" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 21" width="20" height="21">
|
||||||
|
<title>bus_icon</title>
|
||||||
|
<defs>
|
||||||
|
<image width="20" height="21" id="img1" href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAVCAMAAABxCz6aAAAAAXNSR0IB2cksfwAAAapQTFRFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHR0dT09PUlJSWFhYV1dXUVFRS0tLKCgoAAAAAAAAAAAACgoKdnZ2kpKSjo6OjY2NkZGRh4eHAAAAAAAAAAAAAAAAGBgYVlZWUFBQMTExAAAAAAAABwcHKysrLCwsLi4uLS0tLy8vERERAAAAAAAAPDw8hoaGhYWFeXl5eHh4gYGBiYmJXFxcAAAAQUFBiIiIgICAhISEgoKCFRUVCAgIODg4dXV1YGBgAAAAQEBAg4ODe3t7ISEhEhISXV1dPz8/FhYWZmZmJCQkDAwMYmJiX19fIiIiJiYmf39/j4+PTU1NioqKCQkJbGxsMjIyd3d3fX19dHR0fn5+GhoaPj4+cnJyMzMzWlpaY2NjTk5OGxsbi4uLDQ0NZ2dnDg4OcXFxGRkZKioqZGRkfHx8EBAQW1tbAgICOzs7Q0NDHx8fCwsLREREcHBwR0dHaGhoSUlJFxcXJycnQkJCbm5uWVlZjIyMAAAAAAAAGhoaX19fMjIyAAAAAAAAAAAAAAAAnoaMsQAAAI50Uk5TABGKrbq9wcrJxa+THwrA///////////WGpv/////////wwlU//////+OxP/////////ly///////////6P/////////////n/////////////////////////////////////////////////////////////////////////////v///+a05vn2NoXh4LvdJzEAAAFmSURBVHicY2BgYGRiZmFlY+fgYOdkZeXi5mEAAl4+fgEBQSFhIBAREBAVE5cACkpKScvIykGArKy8Ar+iEoOyiqqaOhJQ01DRZNDS1tHVAQJdPT19EK1jYGjEYGwiZ2pqqiBnZm5hKWcFZMpZ2zBw2NrZ2zs4ijpJORu6uJra25u6uTNweNjZe3p5+/j6+QcEBgUr2JuGgAUtHUPDwiMi+aPsRKNjHKCCCoIqsXGm8QkKiYIqYaYQQSvLpORYj5RUg7T00IzMODuwYJZrdoqVY6CKSraXQ5RYjhVEMCE3L8ouX0UlOt7KtKAwCiwYVVQcUiJQEl1allMeV5FnBbUotjKoys612rTQKVfVXgEi6FDtXCZnF1zjIFuoIgq13c7etDbIILGu3rLOuRzueKDX8hpyg0p96oUULCGCjbLAUIiKamoWDjBtATJb0lsZ2to73EKAID0goBDC6ORk6Opm70EBvVrKAPo3aJSuHMDoAAAAAElFTkSuQmCC"/>
|
||||||
|
</defs>
|
||||||
|
<style>
|
||||||
|
</style>
|
||||||
|
<use id="Background" href="#img1" x="0" y="0"/>
|
||||||
|
</svg>
|
After Width: | Height: | Size: 1.6 KiB |
|
@ -0,0 +1,38 @@
|
||||||
|
[remap]
|
||||||
|
|
||||||
|
importer="texture"
|
||||||
|
type="CompressedTexture2D"
|
||||||
|
uid="uid://dj1kag4aeg58t"
|
||||||
|
path="res://.godot/imported/bus_icon.svg-f536ffd3c4893e79a9d3cb9a1b4fb50c.ctex"
|
||||||
|
metadata={
|
||||||
|
"has_editor_variant": true,
|
||||||
|
"vram_texture": false
|
||||||
|
}
|
||||||
|
|
||||||
|
[deps]
|
||||||
|
|
||||||
|
source_file="res://addons/fmod/icons/bus_icon.svg"
|
||||||
|
dest_files=["res://.godot/imported/bus_icon.svg-f536ffd3c4893e79a9d3cb9a1b4fb50c.ctex"]
|
||||||
|
|
||||||
|
[params]
|
||||||
|
|
||||||
|
compress/mode=0
|
||||||
|
compress/high_quality=false
|
||||||
|
compress/lossy_quality=0.7
|
||||||
|
compress/hdr_compression=1
|
||||||
|
compress/normal_map=0
|
||||||
|
compress/channel_pack=0
|
||||||
|
mipmaps/generate=false
|
||||||
|
mipmaps/limit=-1
|
||||||
|
roughness/mode=0
|
||||||
|
roughness/src_normal=""
|
||||||
|
process/fix_alpha_border=true
|
||||||
|
process/premult_alpha=false
|
||||||
|
process/normal_map_invert_y=false
|
||||||
|
process/hdr_as_srgb=false
|
||||||
|
process/hdr_clamp_exposure=false
|
||||||
|
process/size_limit=0
|
||||||
|
detect_3d/compress_to=1
|
||||||
|
svg/scale=1.0
|
||||||
|
editor/scale_with_editor_scale=true
|
||||||
|
editor/convert_colors_with_editor_theme=true
|
|
@ -0,0 +1,9 @@
|
||||||
|
<svg version="1.2" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 18 21" width="18" height="21">
|
||||||
|
<title>c_parameter_icon</title>
|
||||||
|
<defs>
|
||||||
|
<image width="18" height="21" id="img1" href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABIAAAAVCAMAAAB8FU7dAAAAAXNSR0IB2cksfwAAALdQTFRFAAAAAAAAAAAAAAAAAAAAHx8fTExMSEhIMTExAAAAAAAAOzs7jo6OiIiIj4+PXFxcAAAAODg4h4eHgICAb29vV1dXAAAAMDAwc3NzEBAQAAAAKCgoe3t7AAAACgoKNDQ0AAAAbW1tY2NjBAQEX19fMjIyQ0NDGRkZAAAAa2trDAwMDw8PPz8/U1NTICAgR0dHGxsbLCwsS0tLAAAAAAAAf39/enp6GBgYT09PPDw8fn5+AAAAFBQUHGvHAgAAAD10Uk5Ti+ztr93/////6NX//////+H//////9b////////7///+/////////9z/////////////5/P////////8/yfQ/xAAAADPSURBVHicbdDXEoIwEAXQ2BVUhIjlgjX2horY//+73CUyg2UfMpMzyezuFSKT/aycyBeKpVQVyxVhmNVaqupWQxi2I5NqSum4DdFqJ9TpwvOZev2EPAADpiFGWsZQE4URURZTTW3YcoY50QKqw+IrLKW/wow6rrFh2mJHZ4A9kYeVT5cDjtxVIaS55gjif/F/Eycii58FKEQR0RlDnv5CvS64skhnDyaayKaXmsyY5I3mPkb3mNyHXvv2tN9bOW74kYTUSRhm/TuvP6n+Zv8CeG0dU9iBm/oAAAAASUVORK5CYII="/>
|
||||||
|
</defs>
|
||||||
|
<style>
|
||||||
|
</style>
|
||||||
|
<use id="Background" href="#img1" x="0" y="0"/>
|
||||||
|
</svg>
|
After Width: | Height: | Size: 1.0 KiB |
|
@ -0,0 +1,38 @@
|
||||||
|
[remap]
|
||||||
|
|
||||||
|
importer="texture"
|
||||||
|
type="CompressedTexture2D"
|
||||||
|
uid="uid://cmvcqfsl167te"
|
||||||
|
path="res://.godot/imported/c_parameter_icon.svg-04115c2482c9a6874356ffdc09c41db0.ctex"
|
||||||
|
metadata={
|
||||||
|
"has_editor_variant": true,
|
||||||
|
"vram_texture": false
|
||||||
|
}
|
||||||
|
|
||||||
|
[deps]
|
||||||
|
|
||||||
|
source_file="res://addons/fmod/icons/c_parameter_icon.svg"
|
||||||
|
dest_files=["res://.godot/imported/c_parameter_icon.svg-04115c2482c9a6874356ffdc09c41db0.ctex"]
|
||||||
|
|
||||||
|
[params]
|
||||||
|
|
||||||
|
compress/mode=0
|
||||||
|
compress/high_quality=false
|
||||||
|
compress/lossy_quality=0.7
|
||||||
|
compress/hdr_compression=1
|
||||||
|
compress/normal_map=0
|
||||||
|
compress/channel_pack=0
|
||||||
|
mipmaps/generate=false
|
||||||
|
mipmaps/limit=-1
|
||||||
|
roughness/mode=0
|
||||||
|
roughness/src_normal=""
|
||||||
|
process/fix_alpha_border=true
|
||||||
|
process/premult_alpha=false
|
||||||
|
process/normal_map_invert_y=false
|
||||||
|
process/hdr_as_srgb=false
|
||||||
|
process/hdr_clamp_exposure=false
|
||||||
|
process/size_limit=0
|
||||||
|
detect_3d/compress_to=1
|
||||||
|
svg/scale=1.0
|
||||||
|
editor/scale_with_editor_scale=true
|
||||||
|
editor/convert_colors_with_editor_theme=true
|
|
@ -0,0 +1,9 @@
|
||||||
|
<svg version="1.2" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 18 21" width="18" height="21">
|
||||||
|
<title>d_parameter_icon</title>
|
||||||
|
<defs>
|
||||||
|
<image width="18" height="21" id="img1" href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABIAAAAVCAMAAAB8FU7dAAAAAXNSR0IB2cksfwAAAGxQTFRFAAAAAAAAAAAAAAAAAAAAHx8fTExMSEhIMTExAAAAAAAAOzs7jo6OiIiIj4+PXFxcAAAAODg4h4eHgICAV1dXPz8/Q0NDKysrAAAAX19fAAAANzc3NjY2VlZWf39/AAAAGxsbAwMDTk5OR0dHZLhzlQAAACR0Uk5Ti+ztr93/////6NX//////+H/////////8P///////+r/////RH/TkgAAAHVJREFUeJx1kNsSgjAMRAPSIlQrFsKlykX4/3/U6YwlbeA8ntnZSRYgSUMukAmZE+S1gFLd7gT9qKB8mppgGqLQ0Xa9V4P94xVaEafQou96cfXmSnEVdY2Bmk5SPzUvrTtb7Mof/VnjFG78bbKE0vFeB6vy7b+Cnhf2Pv5vKwAAAABJRU5ErkJggg=="/>
|
||||||
|
</defs>
|
||||||
|
<style>
|
||||||
|
</style>
|
||||||
|
<use id="Background" href="#img1" x="0" y="0"/>
|
||||||
|
</svg>
|
After Width: | Height: | Size: 773 B |
|
@ -0,0 +1,38 @@
|
||||||
|
[remap]
|
||||||
|
|
||||||
|
importer="texture"
|
||||||
|
type="CompressedTexture2D"
|
||||||
|
uid="uid://dgna04txtwnyb"
|
||||||
|
path="res://.godot/imported/d_parameter_icon.svg-d339e4e3f950ae8593b999ef51579136.ctex"
|
||||||
|
metadata={
|
||||||
|
"has_editor_variant": true,
|
||||||
|
"vram_texture": false
|
||||||
|
}
|
||||||
|
|
||||||
|
[deps]
|
||||||
|
|
||||||
|
source_file="res://addons/fmod/icons/d_parameter_icon.svg"
|
||||||
|
dest_files=["res://.godot/imported/d_parameter_icon.svg-d339e4e3f950ae8593b999ef51579136.ctex"]
|
||||||
|
|
||||||
|
[params]
|
||||||
|
|
||||||
|
compress/mode=0
|
||||||
|
compress/high_quality=false
|
||||||
|
compress/lossy_quality=0.7
|
||||||
|
compress/hdr_compression=1
|
||||||
|
compress/normal_map=0
|
||||||
|
compress/channel_pack=0
|
||||||
|
mipmaps/generate=false
|
||||||
|
mipmaps/limit=-1
|
||||||
|
roughness/mode=0
|
||||||
|
roughness/src_normal=""
|
||||||
|
process/fix_alpha_border=true
|
||||||
|
process/premult_alpha=false
|
||||||
|
process/normal_map_invert_y=false
|
||||||
|
process/hdr_as_srgb=false
|
||||||
|
process/hdr_clamp_exposure=false
|
||||||
|
process/size_limit=0
|
||||||
|
detect_3d/compress_to=1
|
||||||
|
svg/scale=1.0
|
||||||
|
editor/scale_with_editor_scale=true
|
||||||
|
editor/convert_colors_with_editor_theme=true
|
|
@ -0,0 +1,9 @@
|
||||||
|
<svg version="1.2" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 23 18" width="23" height="18">
|
||||||
|
<title>event_icon</title>
|
||||||
|
<defs>
|
||||||
|
<image width="23" height="18" id="img1" href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABcAAAASCAMAAACHObUhAAAAAXNSR0IB2cksfwAAAQJQTFRFAAAAAAAAAAAAAQEBAQEBAAAAAQEBAAAAAQEBFBQUMjIyMzMzFBQUAQEBAAAAOTk5ZmZmfHx8gICAfn5+ODg4AAAAAQEBExMTHx8fGhoaVlZWf39/c3NzHBwcZGRkAQEBAAAALy8vHh4eAQEBEBAQQEBAPDw8dXV1MTExAwMDFBQUKioqcXFxBAQEFxcXREREDAwMGxsbWVlZdnZ2BgYGQ0NDcHBwEhISW1tbFhYWaGhoY2NjZWVlfX19ISEhJiYmbGxseHh4aWlpTk5OUVFReXl5FRUVYGBgAAAAEhISAQEBAAAANzc3AAAAAQEBExMTAAAAAAAAAQEBAQEBAQEBAAAAb2thKAAAAFZ0Uk5TAAFn1/r/1max/v///bBu////////a9r+/////////9n8////////////////////////////////////////////////////+/7YbP9qr/2uZdX51GPSbw3+AAAA00lEQVR4nG2R13LCQAxFtQEFYqp36RDAVJNQQichjd4htP//FbzYzHhNzpuORprRFQB5sNnRjP3RQQCIE58klxnJjR4CXvT5ZSrAAhiEUJhForE4rxPP0StJFk5BWqGZbC6S1Lyc93EKRaqkAVWaQSy9vJZNm1Q0PGKlWvvXv9UbtFnmJEy+VW3LtNPV6d185V1qatPxjz7n88vw3z+/4gGGH1Aruh+OBMYT7rW7lKnIjCpznsPdGrZYwgoD1gZb4wbIFneWnHf4xx+wP4h/OZ7OBC6I7CrbsYtaRQAAAABJRU5ErkJggg=="/>
|
||||||
|
</defs>
|
||||||
|
<style>
|
||||||
|
</style>
|
||||||
|
<use id="Background" href="#img1" x="0" y="0"/>
|
||||||
|
</svg>
|
After Width: | Height: | Size: 1.1 KiB |
|
@ -0,0 +1,38 @@
|
||||||
|
[remap]
|
||||||
|
|
||||||
|
importer="texture"
|
||||||
|
type="CompressedTexture2D"
|
||||||
|
uid="uid://cmpgmbn3y4svl"
|
||||||
|
path="res://.godot/imported/event_icon.svg-4e6e2103d076f95b7bef82f079e433e6.ctex"
|
||||||
|
metadata={
|
||||||
|
"has_editor_variant": true,
|
||||||
|
"vram_texture": false
|
||||||
|
}
|
||||||
|
|
||||||
|
[deps]
|
||||||
|
|
||||||
|
source_file="res://addons/fmod/icons/event_icon.svg"
|
||||||
|
dest_files=["res://.godot/imported/event_icon.svg-4e6e2103d076f95b7bef82f079e433e6.ctex"]
|
||||||
|
|
||||||
|
[params]
|
||||||
|
|
||||||
|
compress/mode=0
|
||||||
|
compress/high_quality=false
|
||||||
|
compress/lossy_quality=0.7
|
||||||
|
compress/hdr_compression=1
|
||||||
|
compress/normal_map=0
|
||||||
|
compress/channel_pack=0
|
||||||
|
mipmaps/generate=false
|
||||||
|
mipmaps/limit=-1
|
||||||
|
roughness/mode=0
|
||||||
|
roughness/src_normal=""
|
||||||
|
process/fix_alpha_border=true
|
||||||
|
process/premult_alpha=false
|
||||||
|
process/normal_map_invert_y=false
|
||||||
|
process/hdr_as_srgb=false
|
||||||
|
process/hdr_clamp_exposure=false
|
||||||
|
process/size_limit=0
|
||||||
|
detect_3d/compress_to=1
|
||||||
|
svg/scale=1.0
|
||||||
|
editor/scale_with_editor_scale=true
|
||||||
|
editor/convert_colors_with_editor_theme=true
|
|
@ -0,0 +1,34 @@
|
||||||
|
[remap]
|
||||||
|
|
||||||
|
importer="texture"
|
||||||
|
type="CompressedTexture2D"
|
||||||
|
uid="uid://cotpb54utx6d6"
|
||||||
|
path="res://.godot/imported/fmod_emitter.png-6783a287e298e2a04e64a6deaa6fe366.ctex"
|
||||||
|
metadata={
|
||||||
|
"vram_texture": false
|
||||||
|
}
|
||||||
|
|
||||||
|
[deps]
|
||||||
|
|
||||||
|
source_file="res://addons/fmod/icons/fmod_emitter.png"
|
||||||
|
dest_files=["res://.godot/imported/fmod_emitter.png-6783a287e298e2a04e64a6deaa6fe366.ctex"]
|
||||||
|
|
||||||
|
[params]
|
||||||
|
|
||||||
|
compress/mode=0
|
||||||
|
compress/high_quality=false
|
||||||
|
compress/lossy_quality=0.7
|
||||||
|
compress/hdr_compression=1
|
||||||
|
compress/normal_map=0
|
||||||
|
compress/channel_pack=0
|
||||||
|
mipmaps/generate=false
|
||||||
|
mipmaps/limit=-1
|
||||||
|
roughness/mode=0
|
||||||
|
roughness/src_normal=""
|
||||||
|
process/fix_alpha_border=true
|
||||||
|
process/premult_alpha=false
|
||||||
|
process/normal_map_invert_y=false
|
||||||
|
process/hdr_as_srgb=false
|
||||||
|
process/hdr_clamp_exposure=false
|
||||||
|
process/size_limit=0
|
||||||
|
detect_3d/compress_to=1
|
|
@ -0,0 +1 @@
|
||||||
|
<svg height="16" viewBox="0 0 512 512" width="16" xmlns="http://www.w3.org/2000/svg"><path d="m257 8.7c7.4.2 17.8.8 23 1.4 5.2.5 13.8 1.8 19 2.9s14.2 3.3 20 4.9c5.8 1.7 15.2 4.9 21 7.1 5.8 2.3 15.7 6.7 22 9.9s15.3 8.2 20 11.1 11.6 7.7 15.5 10.6c3.9 2.8 10.8 8.5 15.5 12.6 4.6 4 12 11.3 16.3 16.3s11 13.7 14.9 19.5 9 14.5 11.4 19.5c2.4 4.9 5.8 13.3 7.5 18.5 2.3 6.7 3.3 12 3.7 18 .3 6.1-.1 10.3-1.3 15-1 3.6-2.8 8.8-4.1 11.5-1.2 2.8-4.2 7.7-6.7 11-2.4 3.3-7.1 8-16.4 15l6.1 10.5c3.4 5.8 8 15.2 10.2 21 2.3 5.8 5.3 15.2 6.8 21 1.4 5.8 3.3 16.1 4.2 23 1.1 8.5 1.4 16 1 23.5-.3 6.1-1.4 16.2-2.5 22.5s-3.1 15.3-4.5 20-4.7 13.9-7.5 20.5-7.9 16.7-11.4 22.5c-3.4 5.8-8.9 14.1-12.2 18.5s-11.1 13.3-17.5 19.9c-6.3 6.5-15.1 14.7-19.5 18.3-4.4 3.5-12.5 9.4-18 13.1-5.5 3.6-15.6 9.4-22.5 12.8s-16.8 7.8-22 9.7c-5.2 2-13.8 4.7-19 6-5.2 1.4-13.8 3.3-19 4.2s-17.4 2-27 2.5c-14.3.6-20 .4-31.5-1.1-7.7-1-18.5-2.7-24-4-5.5-1.2-14.7-3.6-20.5-5.5-5.8-1.8-15.4-5.4-21.5-7.9s-15.7-7.1-21.5-10.2c-5.8-3-14.8-8.4-20-11.8-5.2-3.5-13.1-9.2-17.5-12.8-4.4-3.5-13-11.6-19-17.9-6-6.2-14-15.6-17.8-20.8-3.7-5.2-9.4-14.9-12.7-21.5s-7.1-15.6-8.6-20c-1.5-4.6-2.8-11.4-3.1-16-.3-5.4 0-10.4 1.1-15.5.9-4.1 3.1-10.4 4.9-14 1.8-3.7 6-9.4 9.7-13.3 3.6-3.8 8-7.8 13-10.7l-2.2-3.7c-1.2-2.1-4.1-7.2-6.5-11.3s-6.1-12-8.2-17.5c-2.2-5.5-5.1-14.3-6.5-19.5-1.5-5.2-3.3-14.6-4.1-20.7-.8-6.2-1.5-16.2-1.5-22.3s.7-16.1 1.5-22.2c.8-6.2 2.6-15.4 3.9-20.3s4.1-13.5 6.1-19 6-14.5 8.9-20 8-14 11.3-19c3.3-4.9 9.4-13 13.5-18 4.1-4.9 11.3-12.6 15.9-17s12.7-11.4 17.9-15.4 13.6-9.8 18.5-12.9c4.9-3 14.8-8.4 22-11.8s17.7-7.8 23.5-9.7 15.9-4.7 22.5-6.1c6.6-1.5 16.5-3.2 22-3.9s16.1-1.1 23.5-1z"/><path d="m255.3 55.2c5.9-.1 15.8.5 21.9 1.3 6.2.8 16.7 2.8 23.3 4.5s17.2 5.1 23.5 7.6 15.8 6.9 21 9.6c5.2 2.8 14.2 8.2 19.9 12.2 5.8 3.9 15 11.4 20.4 16.6 5.5 5.2 12.9 13.3 16.4 18s9 13.7 12.1 20c4.3 8.7 5.7 12.8 6 17 .4 4.8.1 5.9-2.2 8.7-1.6 2-4.1 3.7-6.4 4.3-2 .5-5.1.6-6.7.2-1.6-.3-4-1.8-5.3-3.2s-3.9-6.3-5.8-11c-1.8-4.7-5.3-11.4-7.7-15s-6.6-9-9.3-12.1-8-8.5-11.9-11.9-11.3-9-16.5-12.5-14-8.6-19.5-11.3c-5.5-2.8-14.5-6.6-20-8.5s-14.1-4.4-19-5.5c-4.9-1.2-13.9-2.6-20-3.3-6.3-.6-15-.8-20.5-.5-5.2.4-13.8 1.6-19 2.6-5.2 1.1-13.6 3.3-18.5 5.1-4.9 1.7-12.6 4.8-17 6.9s-11.6 6.2-16 9c-4.4 2.9-11.8 8.5-16.5 12.4-4.6 3.9-11.8 11.2-16 16.2-4.1 5.1-9.6 12.7-12.2 17-2.5 4.4-6.1 11.5-7.8 15.9-1.8 4.4-4.1 11.4-5.2 15.5-1 4.1-2.2 12.2-2.5 18-.4 6.4-.1 13.8.7 19 .6 4.7 2.1 11.4 3.2 15s3.8 10.1 6 14.5 6 10.9 8.6 14.5c2.5 3.6 8.2 10.1 12.7 14.5 4.4 4.4 12.3 10.9 17.5 14.4s13.1 8.1 17.5 10.3 13.2 5.8 19.5 7.9 15.1 4.5 19.5 5.4 10.8 1.9 20.5 3v-148.5h11.5c6.3 0 15.9.5 21.2 1.1 5.4.6 14.1 2 19.3 3.1s14.2 3.5 20 5.4 16.8 6.6 24.5 10.4 18.3 10 23.5 13.7c5.2 3.8 13.5 10.9 18.5 15.9 4.9 4.9 11.5 12.6 14.7 17 3.1 4.3 7.6 12 10.1 16.9s5.7 12.7 7.1 17.2c1.4 4.6 3.3 12.2 4.1 17 .8 4.9 1.5 14 1.5 20.3s-.7 15.8-1.5 21c-.9 5.2-3.1 14-4.9 19.5-1.9 5.5-5.2 13.6-7.4 18s-6.8 12.3-10.3 17.5-10.9 14.2-16.4 19.9-14.1 13.5-19 17.4c-4.9 3.8-13.1 9.3-18 12.2-4.9 3-12.6 7-17 9s-12.5 5.2-18 7-14.9 4.3-21 5.4c-6.1 1.2-16.4 2.4-23 2.8-6.9.3-16.7.1-23-.6-6.1-.7-15.3-2.1-20.5-3.3-5.2-1.1-14-3.5-19.5-5.3s-14.9-5.4-21-8.1-15.1-7.4-20-10.3c-4.9-3-13.1-8.4-18-12.1s-13.5-11.4-19-17.2c-5.5-5.7-12.1-13.5-14.7-17.3-2.5-3.9-6.8-11.5-9.4-17s-5-12.1-5.3-14.6c-.6-4.5-.4-4.9 3.5-8.8 3.6-3.5 4.8-4.1 8.5-4.1 2.5 0 5.7.8 7.4 1.8 2.3 1.4 3.9 4 6.7 10.8 2.1 4.9 6.1 12.3 8.9 16.4s7.2 9.9 9.8 12.8c2.5 2.9 8 8.1 12.1 11.6s10.9 8.5 15 11.3 12.7 7.6 19 10.8 16.7 7.5 23 9.6 15 4.5 19.2 5.3c4.3.9 12.4 2.1 18 2.7 5.7.6 14.4.8 19.3.4s12.8-1.3 17.5-2.1 13.2-3.1 19-5 15-5.8 20.5-8.6c5.5-2.7 13.1-7.2 17-9.8 3.9-2.7 10.6-8 14.9-11.7 4.4-3.7 11.1-10.7 15-15.4 3.9-4.8 9.2-12.2 11.8-16.5 2.5-4.4 6.1-11.5 7.8-15.9 1.8-4.4 4.2-11.4 5.3-15.5 1.7-6.1 2-10.5 2-23.5s-.3-17.4-2-23.5c-1.1-4.1-3.5-10.9-5.3-15-1.7-4.1-5.7-11.3-8.8-16s-9.4-12.3-14.2-17c-4.7-4.7-12.8-11.4-18-15-5.2-3.5-14-8.5-19.5-11.1s-13.6-6-18-7.4c-4.4-1.5-11.9-3.6-16.8-4.6-4.8-1-11.9-2.2-22.7-3.4v148.5h-12c-6.6 0-17.3-.7-23.8-1.5-6.4-.9-16.4-2.7-22.2-4.1s-14.8-4.2-20-6.1-14.7-6.2-21-9.4c-6.3-3.3-15.7-9-20.9-12.7s-13.1-10.3-17.6-14.7-10.8-11.6-14.1-16-8.2-12.5-11.1-18c-2.8-5.5-6.3-13.7-7.7-18.3-1.4-4.5-3.3-12.1-4.1-17-.8-4.8-1.5-13.9-1.5-20.2s.7-15.8 1.5-21c.9-5.2 3.1-14 4.9-19.5 1.9-5.5 5.3-13.8 7.6-18.5s6.9-12.3 10.1-17 8.6-11.7 12.1-15.6c3.5-4 9-9.6 12.3-12.5 3.3-3 8.7-7.5 12-10 3.3-2.6 9.8-7 14.5-10 4.7-2.9 12.6-7.2 17.5-9.5s13.7-5.8 19.5-7.7 15.4-4.5 21.5-5.6 12.6-2.2 14.5-2.4 8.3-.5 14.2-.5z" fill="#6ccdf4"/></svg>
|
After Width: | Height: | Size: 4.4 KiB |
|
@ -0,0 +1,38 @@
|
||||||
|
[remap]
|
||||||
|
|
||||||
|
importer="texture"
|
||||||
|
type="CompressedTexture2D"
|
||||||
|
uid="uid://bwqq5q7kodk40"
|
||||||
|
path="res://.godot/imported/fmod_icon.svg-cca7eb13231881fafaea0d598d407ea3.ctex"
|
||||||
|
metadata={
|
||||||
|
"has_editor_variant": true,
|
||||||
|
"vram_texture": false
|
||||||
|
}
|
||||||
|
|
||||||
|
[deps]
|
||||||
|
|
||||||
|
source_file="res://addons/fmod/icons/fmod_icon.svg"
|
||||||
|
dest_files=["res://.godot/imported/fmod_icon.svg-cca7eb13231881fafaea0d598d407ea3.ctex"]
|
||||||
|
|
||||||
|
[params]
|
||||||
|
|
||||||
|
compress/mode=0
|
||||||
|
compress/high_quality=false
|
||||||
|
compress/lossy_quality=0.7
|
||||||
|
compress/hdr_compression=1
|
||||||
|
compress/normal_map=0
|
||||||
|
compress/channel_pack=0
|
||||||
|
mipmaps/generate=false
|
||||||
|
mipmaps/limit=-1
|
||||||
|
roughness/mode=0
|
||||||
|
roughness/src_normal=""
|
||||||
|
process/fix_alpha_border=true
|
||||||
|
process/premult_alpha=false
|
||||||
|
process/normal_map_invert_y=false
|
||||||
|
process/hdr_as_srgb=false
|
||||||
|
process/hdr_clamp_exposure=false
|
||||||
|
process/size_limit=0
|
||||||
|
detect_3d/compress_to=1
|
||||||
|
svg/scale=1.0
|
||||||
|
editor/scale_with_editor_scale=true
|
||||||
|
editor/convert_colors_with_editor_theme=true
|
|
@ -0,0 +1,9 @@
|
||||||
|
<svg version="1.2" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 23 18" width="23" height="18">
|
||||||
|
<title>snapshot_icon</title>
|
||||||
|
<defs>
|
||||||
|
<image width="23" height="18" id="img1" href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABcAAAASCAMAAACHObUhAAAAAXNSR0IB2cksfwAAAPxQTFRFAAAAAAAAAAAAAQEBAQEBAAAAAQEBAAAAAQEBFBQUMjIyMzMzFBQUAQEBAAAAOTk5ZmZmfHx8gICAfn5+ODg4AAAAAQEBExMTHx8fGhoaVVVVf39/R0dHFBQUdnZ2UlJSa2trAQEBAAAALy8vHh4eAQEBEBAQZGRkPDw8dHR0SUlJZ2dnMTExAwMDKioqcHBwBQUFCAgIBAQEFxcXQ0NDYmJiDAwMGxsbWVlZBgYGc3NzKCgoFhYWISEhJiYmbGxsWFhYeHh4VFRUCwsLbW1tRkZGAAAAEhISAQEBAAAANzc3AAAAAQEBExMTAAAAAAAAAQEBAQEBAQEBAAAAvMGz4gAAAFR0Uk5TAAFn1/r/1max/v///bBu////////a9r+////////////2fz///////////////////////////////////////////////v+2Gz/aq/9rmXV+dRjwdo0YQAAAN1JREFUeJxtkX1XAWEQxeeJGy3RznorlrClImUpL6GEUIny/b9L9gXPOu5fc35zzszcO0TiyOeHLP9xQBCJIE6UkCwljFNBEUTPVPZIiyFOiaSWOr9I2yCjZ5lz+qWWzFOhyMbVdapk8RvcMt+hzMUCocIGcK9XHxxeekSNK3A5YNYbNn9a12mJPzdbB3i73lCdOZ0XRDdzzK6S9ex1eK//ap/5ZkKX+cD18w4MZc6H+NrXRqMexq6vDyuHbWObw2RKM8R2DTe3T3yR+MZ8L+c5fqwHLJbev/z+rQT9A5sFJPmrtG2HAAAAAElFTkSuQmCC"/>
|
||||||
|
</defs>
|
||||||
|
<style>
|
||||||
|
</style>
|
||||||
|
<use id="Background" href="#img1" x="0" y="0"/>
|
||||||
|
</svg>
|
After Width: | Height: | Size: 1.1 KiB |
|
@ -0,0 +1,38 @@
|
||||||
|
[remap]
|
||||||
|
|
||||||
|
importer="texture"
|
||||||
|
type="CompressedTexture2D"
|
||||||
|
uid="uid://b4jxbh86chubi"
|
||||||
|
path="res://.godot/imported/snapshot_icon.svg-7b517248819b3685844766808fbce2a5.ctex"
|
||||||
|
metadata={
|
||||||
|
"has_editor_variant": true,
|
||||||
|
"vram_texture": false
|
||||||
|
}
|
||||||
|
|
||||||
|
[deps]
|
||||||
|
|
||||||
|
source_file="res://addons/fmod/icons/snapshot_icon.svg"
|
||||||
|
dest_files=["res://.godot/imported/snapshot_icon.svg-7b517248819b3685844766808fbce2a5.ctex"]
|
||||||
|
|
||||||
|
[params]
|
||||||
|
|
||||||
|
compress/mode=0
|
||||||
|
compress/high_quality=false
|
||||||
|
compress/lossy_quality=0.7
|
||||||
|
compress/hdr_compression=1
|
||||||
|
compress/normal_map=0
|
||||||
|
compress/channel_pack=0
|
||||||
|
mipmaps/generate=false
|
||||||
|
mipmaps/limit=-1
|
||||||
|
roughness/mode=0
|
||||||
|
roughness/src_normal=""
|
||||||
|
process/fix_alpha_border=true
|
||||||
|
process/premult_alpha=false
|
||||||
|
process/normal_map_invert_y=false
|
||||||
|
process/hdr_as_srgb=false
|
||||||
|
process/hdr_clamp_exposure=false
|
||||||
|
process/size_limit=0
|
||||||
|
detect_3d/compress_to=1
|
||||||
|
svg/scale=1.0
|
||||||
|
editor/scale_with_editor_scale=true
|
||||||
|
editor/convert_colors_with_editor_theme=true
|
|
@ -0,0 +1,9 @@
|
||||||
|
<svg version="1.2" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 21" width="20" height="21">
|
||||||
|
<title>vca_icon</title>
|
||||||
|
<defs>
|
||||||
|
<image width="20" height="21" id="img1" href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAVCAMAAABxCz6aAAAAAXNSR0IB2cksfwAAAapQTFRFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHR0dT09PUlJSWFhYV1dXUVFRS0tLKCgoAAAAAAAAAAAACgoKdnZ2kpKSjo6OjY2NkZGRh4eHAAAAAAAAAAAAAAAAGBgYVlZWUFBQMTExAAAAAAAABwcHKysrLCwsLi4uLS0tLy8vERERAAAAAAAAPDw8hoaGhYWFeXl5eHh4gYGBiYmJXFxcAAAAQUFBiIiIgICAhISEgoKCFRUVCAgIODg4dXV1YGBgAAAAQEBAg4ODe3t7ISEhEhISXV1dPz8/FhYWZmZmJCQkDAwMYmJiX19fIiIiJiYmf39/j4+PTU1NioqKCQkJbGxsMjIyd3d3fX19dHR0fn5+GhoaPj4+cnJyMzMzWlpaY2NjTk5OGxsbi4uLDQ0NZ2dnDg4OcXFxGRkZKioqZGRkfHx8EBAQW1tbAgICOzs7Q0NDHx8fCwsLREREcHBwR0dHaGhoSUlJFxcXJycnQkJCbm5uWVlZjIyMAAAAAAAAGhoaX19fMjIyAAAAAAAAAAAAAAAAnoaMsQAAAI50Uk5TABGKrbq9wcrJxa+THwrA///////////WGpv/////////wwlU//////+OxP/////////ly///////////6P/////////////n/////////////////////////////////////////////////////////////////////////////v///+a05vn2NoXh4LvdJzEAAAFmSURBVHicY2BgYGRiZmFlY+fgYOdkZeXi5mEAAl4+fgEBQSFhIBAREBAVE5cACkpKScvIykGArKy8Ar+iEoOyiqqaOhJQ01DRZNDS1tHVAQJdPT19EK1jYGjEYGwiZ2pqqiBnZm5hKWcFZMpZ2zBw2NrZ2zs4ijpJORu6uJra25u6uTNweNjZe3p5+/j6+QcEBgUr2JuGgAUtHUPDwiMi+aPsRKNjHKCCCoIqsXGm8QkKiYIqYaYQQSvLpORYj5RUg7T00IzMODuwYJZrdoqVY6CKSraXQ5RYjhVEMCE3L8ouX0UlOt7KtKAwCiwYVVQcUiJQEl1allMeV5FnBbUotjKoys612rTQKVfVXgEi6FDtXCZnF1zjIFuoIgq13c7etDbIILGu3rLOuRzueKDX8hpyg0p96oUULCGCjbLAUIiKamoWDjBtATJb0lsZ2to73EKAID0goBDC6ORk6Opm70EBvVrKAPo3aJSuHMDoAAAAAElFTkSuQmCC"/>
|
||||||
|
</defs>
|
||||||
|
<style>
|
||||||
|
</style>
|
||||||
|
<use id="Background" href="#img1" x="0" y="0"/>
|
||||||
|
</svg>
|
After Width: | Height: | Size: 1.6 KiB |
|
@ -0,0 +1,38 @@
|
||||||
|
[remap]
|
||||||
|
|
||||||
|
importer="texture"
|
||||||
|
type="CompressedTexture2D"
|
||||||
|
uid="uid://crsj4jjaeq87a"
|
||||||
|
path="res://.godot/imported/vca_icon.svg-def43f27fe148a7a0b18c7dcaab20c79.ctex"
|
||||||
|
metadata={
|
||||||
|
"has_editor_variant": true,
|
||||||
|
"vram_texture": false
|
||||||
|
}
|
||||||
|
|
||||||
|
[deps]
|
||||||
|
|
||||||
|
source_file="res://addons/fmod/icons/vca_icon.svg"
|
||||||
|
dest_files=["res://.godot/imported/vca_icon.svg-def43f27fe148a7a0b18c7dcaab20c79.ctex"]
|
||||||
|
|
||||||
|
[params]
|
||||||
|
|
||||||
|
compress/mode=0
|
||||||
|
compress/high_quality=false
|
||||||
|
compress/lossy_quality=0.7
|
||||||
|
compress/hdr_compression=1
|
||||||
|
compress/normal_map=0
|
||||||
|
compress/channel_pack=0
|
||||||
|
mipmaps/generate=false
|
||||||
|
mipmaps/limit=-1
|
||||||
|
roughness/mode=0
|
||||||
|
roughness/src_normal=""
|
||||||
|
process/fix_alpha_border=true
|
||||||
|
process/premult_alpha=false
|
||||||
|
process/normal_map_invert_y=false
|
||||||
|
process/hdr_as_srgb=false
|
||||||
|
process/hdr_clamp_exposure=false
|
||||||
|
process/size_limit=0
|
||||||
|
detect_3d/compress_to=1
|
||||||
|
svg/scale=1.0
|
||||||
|
editor/scale_with_editor_scale=true
|
||||||
|
editor/convert_colors_with_editor_theme=true
|
BIN
addons/fmod/libs/android/arm64/libGodotFmod.android.editor.arm64.so (Stored with Git LFS)
Normal file
BIN
addons/fmod/libs/android/arm64/libGodotFmod.android.template_debug.arm64.so (Stored with Git LFS)
Normal file
BIN
addons/fmod/libs/android/arm64/libGodotFmod.android.template_release.arm64.so (Stored with Git LFS)
Normal file
BIN
addons/fmod/libs/linux/libGodotFmod.linux.template_debug.x86_64.so (Stored with Git LFS)
Normal file
BIN
addons/fmod/libs/linux/libGodotFmod.linux.template_release.x86_64.so (Stored with Git LFS)
Normal file
BIN
addons/fmod/libs/windows/libGodotFmod.windows.editor.x86_64.dll (Stored with Git LFS)
Normal file
BIN
addons/fmod/libs/windows/libGodotFmod.windows.template_debug.x86_64.dll (Stored with Git LFS)
Normal file
BIN
addons/fmod/libs/windows/libGodotFmod.windows.template_release.x86_64.dll (Stored with Git LFS)
Normal file
|
@ -0,0 +1,7 @@
|
||||||
|
[plugin]
|
||||||
|
|
||||||
|
name="FMOD GDExtension"
|
||||||
|
description="FMOD GDExtension for Godot Engine 4.0"
|
||||||
|
author="Utopia-rise, Tristan Grespinet, Pierre-Thomas Meisels"
|
||||||
|
version="4.0.0"
|
||||||
|
script="FmodPlugin.gd"
|
|
@ -0,0 +1,20 @@
|
||||||
|
class_name FmodBankLoaderPropertyInspectorPlugin extends EditorInspectorPlugin
|
||||||
|
|
||||||
|
static var bank_icon = load("res://addons/fmod/icons/bank_icon.svg")
|
||||||
|
|
||||||
|
var _open_project_explorer_callable: Callable
|
||||||
|
|
||||||
|
func _init(plugin: FmodPlugin):
|
||||||
|
_open_project_explorer_callable = plugin.open_project_explorer_bank
|
||||||
|
|
||||||
|
func _can_handle(object: Object):
|
||||||
|
return object is FmodBankLoader
|
||||||
|
|
||||||
|
func _parse_property(object: Object, type: Variant.Type, name: String, hint_type: PropertyHint, hint_string: String, usage_flags: int, wide: bool):
|
||||||
|
return name == "bank_paths"
|
||||||
|
|
||||||
|
func _parse_category(object: Object, category: String):
|
||||||
|
if category != "FmodBankLoader":
|
||||||
|
return
|
||||||
|
var editor_property := FmodBankPathEditorProperty.new(_open_project_explorer_callable)
|
||||||
|
add_property_editor_for_multiple_properties("Fmod banks", PackedStringArray(["bank_paths"]), editor_property)
|
|
@ -0,0 +1,21 @@
|
||||||
|
class_name FmodEmitterPropertyInspectorPlugin extends EditorInspectorPlugin
|
||||||
|
|
||||||
|
var _open_project_explorer_callable: Callable
|
||||||
|
var _event_editor_property_scene: PackedScene = load("res://addons/fmod/tool/property_editors/FmodEventEditorProperty.tscn")
|
||||||
|
|
||||||
|
func _init(plugin: FmodPlugin):
|
||||||
|
_open_project_explorer_callable = plugin.open_project_explorer_events
|
||||||
|
|
||||||
|
func _can_handle(object: Object):
|
||||||
|
return object is FmodEventEmitter2D or \
|
||||||
|
object is FmodEventEmitter3D
|
||||||
|
|
||||||
|
func _parse_property(object: Object, type: Variant.Type, name: String, hint_type: PropertyHint, hint_string: String, usage_flags: int, wide: bool):
|
||||||
|
return name == "event_name" || name == "event_guid"
|
||||||
|
|
||||||
|
func _parse_category(object: Object, category: String):
|
||||||
|
if category != "FmodEventEmitter2D" and category != "FmodEventEmitter3D":
|
||||||
|
return
|
||||||
|
var editor_property := _event_editor_property_scene.instantiate()
|
||||||
|
editor_property.initialize(_open_project_explorer_callable, "event_name", "event_guid")
|
||||||
|
add_property_editor_for_multiple_properties("Fmod event", PackedStringArray(["event_name", "event_guid"]), editor_property)
|
|
@ -0,0 +1,95 @@
|
||||||
|
class_name FmodBankPathEditorProperty extends EditorProperty
|
||||||
|
|
||||||
|
var path_property_name := "bank_paths"
|
||||||
|
|
||||||
|
var ui: Control
|
||||||
|
var last_selected_index := -1
|
||||||
|
|
||||||
|
func _init(open_project_explorer_callable: Callable):
|
||||||
|
ui = load("res://addons/fmod/tool/property_editors/FmodBankPathsPropertyEditorUi.tscn").instantiate()
|
||||||
|
add_child(ui)
|
||||||
|
var add_button: Button = ui.get_node("%AddButton")
|
||||||
|
|
||||||
|
var open_project_explorer_event = func open_project_explorer_event():
|
||||||
|
open_project_explorer_callable.call(self._set_path_and_guid)
|
||||||
|
add_button.pressed.connect(open_project_explorer_event)
|
||||||
|
|
||||||
|
var remove_button: Button = ui.get_node("%RemoveButton")
|
||||||
|
remove_button.pressed.connect(_on_remove_button)
|
||||||
|
|
||||||
|
var manual_add_button: Button = ui.get_node("%ManualAddButton")
|
||||||
|
manual_add_button.pressed.connect(_on_manual_add_button)
|
||||||
|
|
||||||
|
var up_button: Button = ui.get_node("%UpButton")
|
||||||
|
up_button.pressed.connect(_on_up_button)
|
||||||
|
|
||||||
|
var down_button: Button = ui.get_node("%DownButton")
|
||||||
|
down_button.pressed.connect(_on_down_button)
|
||||||
|
|
||||||
|
func _update_property():
|
||||||
|
var bank_list: ItemList = ui.get_node("%BankList")
|
||||||
|
bank_list.clear()
|
||||||
|
var bank_paths: Array = get_edited_object()[path_property_name]
|
||||||
|
for path in bank_paths:
|
||||||
|
bank_list.add_item(path)
|
||||||
|
|
||||||
|
if last_selected_index == -1:
|
||||||
|
return
|
||||||
|
bank_list.select(last_selected_index)
|
||||||
|
last_selected_index = -1
|
||||||
|
|
||||||
|
func _set_path_and_guid(path: String, _cancel: String):
|
||||||
|
var bank_list: ItemList = ui.get_node("%BankList")
|
||||||
|
var current_bank_paths: Array = get_edited_object()[path_property_name]
|
||||||
|
|
||||||
|
if current_bank_paths.has(path):
|
||||||
|
return
|
||||||
|
|
||||||
|
var bank_paths := Array(current_bank_paths)
|
||||||
|
bank_paths.append(path)
|
||||||
|
emit_changed(path_property_name, bank_paths)
|
||||||
|
|
||||||
|
func _on_remove_button():
|
||||||
|
var bank_list: ItemList = ui.get_node("%BankList")
|
||||||
|
var current_bank_paths: Array = get_edited_object()[path_property_name]
|
||||||
|
var bank_paths := Array(current_bank_paths)
|
||||||
|
var selected_items_indexes: PackedInt32Array = bank_list.get_selected_items()
|
||||||
|
if selected_items_indexes.is_empty():
|
||||||
|
return
|
||||||
|
var item = bank_list.get_item_text(selected_items_indexes[0])
|
||||||
|
var in_list_index = bank_paths.find(item)
|
||||||
|
bank_paths.remove_at(in_list_index)
|
||||||
|
last_selected_index = in_list_index if in_list_index < bank_paths.size() else in_list_index - 1
|
||||||
|
emit_changed(path_property_name, bank_paths)
|
||||||
|
|
||||||
|
func _on_manual_add_button():
|
||||||
|
var manual_add_line_edit: LineEdit = ui.get_node("%ManualAddLineEdit")
|
||||||
|
var to_add: String = manual_add_line_edit.text
|
||||||
|
if not to_add.begins_with("res://") || not to_add.ends_with(".bank"):
|
||||||
|
return
|
||||||
|
_set_path_and_guid(to_add, "")
|
||||||
|
manual_add_line_edit.text = ""
|
||||||
|
|
||||||
|
func _on_up_button():
|
||||||
|
_on_move_button(false)
|
||||||
|
|
||||||
|
func _on_down_button():
|
||||||
|
_on_move_button(true)
|
||||||
|
|
||||||
|
func _on_move_button(is_down: bool):
|
||||||
|
var bank_list: ItemList = ui.get_node("%BankList")
|
||||||
|
var current_bank_paths: Array = get_edited_object()[path_property_name]
|
||||||
|
var bank_paths := Array(current_bank_paths)
|
||||||
|
var selected_items_indexes: PackedInt32Array = bank_list.get_selected_items()
|
||||||
|
if selected_items_indexes.is_empty():
|
||||||
|
return
|
||||||
|
var item = bank_list.get_item_text(selected_items_indexes[0])
|
||||||
|
var in_list_index = bank_paths.find(item)
|
||||||
|
var boundary = current_bank_paths.size() - 1 if is_down else 0
|
||||||
|
if in_list_index == boundary:
|
||||||
|
return
|
||||||
|
var new_index = in_list_index + 1 if is_down else in_list_index - 1
|
||||||
|
bank_paths.remove_at(in_list_index)
|
||||||
|
bank_paths.insert(new_index, item)
|
||||||
|
last_selected_index = new_index
|
||||||
|
emit_changed(path_property_name, bank_paths)
|
|
@ -0,0 +1,60 @@
|
||||||
|
[gd_scene load_steps=2 format=3 uid="uid://dtlwk8wdeal3h"]
|
||||||
|
|
||||||
|
[ext_resource type="Texture2D" uid="uid://bkqdeaojmbbaj" path="res://addons/fmod/icons/bank_icon.svg" id="1_11c48"]
|
||||||
|
|
||||||
|
[node name="FmodBankPathsPropertyEditorUi" type="VBoxContainer"]
|
||||||
|
offset_right = 92.0
|
||||||
|
offset_bottom = 43.0
|
||||||
|
size_flags_horizontal = 3
|
||||||
|
size_flags_vertical = 3
|
||||||
|
|
||||||
|
[node name="HBoxContainer" type="HBoxContainer" parent="."]
|
||||||
|
layout_mode = 2
|
||||||
|
|
||||||
|
[node name="AddButton" type="Button" parent="HBoxContainer"]
|
||||||
|
unique_name_in_owner = true
|
||||||
|
layout_mode = 2
|
||||||
|
size_flags_horizontal = 3
|
||||||
|
text = "+"
|
||||||
|
icon = ExtResource("1_11c48")
|
||||||
|
icon_alignment = 2
|
||||||
|
|
||||||
|
[node name="RemoveButton" type="Button" parent="HBoxContainer"]
|
||||||
|
unique_name_in_owner = true
|
||||||
|
layout_mode = 2
|
||||||
|
size_flags_horizontal = 3
|
||||||
|
text = "-"
|
||||||
|
|
||||||
|
[node name="VSeparator" type="VSeparator" parent="HBoxContainer"]
|
||||||
|
layout_mode = 2
|
||||||
|
|
||||||
|
[node name="UpButton" type="Button" parent="HBoxContainer"]
|
||||||
|
unique_name_in_owner = true
|
||||||
|
layout_mode = 2
|
||||||
|
size_flags_horizontal = 3
|
||||||
|
text = "↑"
|
||||||
|
|
||||||
|
[node name="DownButton" type="Button" parent="HBoxContainer"]
|
||||||
|
unique_name_in_owner = true
|
||||||
|
layout_mode = 2
|
||||||
|
size_flags_horizontal = 3
|
||||||
|
text = "↓"
|
||||||
|
|
||||||
|
[node name="BankList" type="ItemList" parent="."]
|
||||||
|
unique_name_in_owner = true
|
||||||
|
layout_mode = 2
|
||||||
|
size_flags_vertical = 3
|
||||||
|
auto_height = true
|
||||||
|
|
||||||
|
[node name="HBoxContainer2" type="HBoxContainer" parent="."]
|
||||||
|
layout_mode = 2
|
||||||
|
|
||||||
|
[node name="ManualAddLineEdit" type="LineEdit" parent="HBoxContainer2"]
|
||||||
|
unique_name_in_owner = true
|
||||||
|
layout_mode = 2
|
||||||
|
size_flags_horizontal = 3
|
||||||
|
|
||||||
|
[node name="ManualAddButton" type="Button" parent="HBoxContainer2"]
|
||||||
|
unique_name_in_owner = true
|
||||||
|
layout_mode = 2
|
||||||
|
text = "+"
|
|
@ -0,0 +1,80 @@
|
||||||
|
@tool class_name FmodEventEditorProperty extends FmodPathEditorProperty
|
||||||
|
|
||||||
|
|
||||||
|
static var EVENT_PARAMETER_PREFIX_FOR_PROPERTIES = "event_parameter"
|
||||||
|
|
||||||
|
var former_event_description: FmodEventDescription
|
||||||
|
|
||||||
|
func _update_property():
|
||||||
|
super()
|
||||||
|
if get_edited_object().event_name == "":
|
||||||
|
return
|
||||||
|
_update_parameters()
|
||||||
|
var event_description: FmodEventDescription = FmodServer.get_event_from_guid(get_edited_object().event_guid)
|
||||||
|
former_event_description = event_description
|
||||||
|
|
||||||
|
func _set_path_and_guid(path: String, guid: String):
|
||||||
|
super(path, guid)
|
||||||
|
if get_edited_object().event_name == "":
|
||||||
|
return
|
||||||
|
_update_parameters()
|
||||||
|
former_event_description = FmodServer.get_event_from_guid(get_edited_object().event_guid)
|
||||||
|
|
||||||
|
func _update_parameters():
|
||||||
|
var event_description: FmodEventDescription = FmodServer.get_event_from_guid(get_edited_object().event_guid)
|
||||||
|
|
||||||
|
if former_event_description != null and event_description != former_event_description:
|
||||||
|
get_edited_object().tool_remove_all_parameters()
|
||||||
|
|
||||||
|
var map_to_property_name = func map_to_property_name(dict: Dictionary):
|
||||||
|
return dict["name"]
|
||||||
|
var filter_fmod_parameter_property = func filter_fmod_parameter_property(parameter_name: String):
|
||||||
|
return parameter_name.begins_with(EVENT_PARAMETER_PREFIX_FOR_PROPERTIES)
|
||||||
|
|
||||||
|
var filter_property_id = func filter_property_id(property: String):
|
||||||
|
return property.ends_with("/id")
|
||||||
|
var existing_property_ids = get_edited_object().get_property_list().map(map_to_property_name).filter(filter_fmod_parameter_property).filter(filter_property_id)
|
||||||
|
|
||||||
|
var map_property_name_to_parameter_name = func map_property_name_to_parameter_name(parameter: String):
|
||||||
|
return parameter.split("/")[1]
|
||||||
|
var existing_parameter_names = existing_property_ids.map(map_property_name_to_parameter_name)
|
||||||
|
|
||||||
|
var map_property_id_to_parameter_id_value = func map_property_id_to_parameter_id_value(property: String):
|
||||||
|
return get_edited_object()[property]
|
||||||
|
var existing_parameter_ids = existing_property_ids.map(map_property_id_to_parameter_id_value)
|
||||||
|
|
||||||
|
var property_matching = existing_parameter_ids.map(func(id): return false)
|
||||||
|
|
||||||
|
for param in event_description.get_parameters():
|
||||||
|
var parameter_name = param.get_name()
|
||||||
|
var parameter_id_param = "%s/%s/id" % [EVENT_PARAMETER_PREFIX_FOR_PROPERTIES, parameter_name]
|
||||||
|
var parameter_value_param = "%s/%s/value" % [EVENT_PARAMETER_PREFIX_FOR_PROPERTIES, parameter_name]
|
||||||
|
var parameter_min_value_param = "%s/%s/min_value" % [EVENT_PARAMETER_PREFIX_FOR_PROPERTIES, parameter_name]
|
||||||
|
var parameter_max_value_param = "%s/%s/max_value" % [EVENT_PARAMETER_PREFIX_FOR_PROPERTIES, parameter_name]
|
||||||
|
var parameter_default_value_param = "%s/%s/default_value" % [EVENT_PARAMETER_PREFIX_FOR_PROPERTIES, parameter_name]
|
||||||
|
|
||||||
|
var existing_property_name_index = existing_property_ids.find(parameter_id_param)
|
||||||
|
var are_properties_already_in_node = existing_property_name_index != -1
|
||||||
|
|
||||||
|
var parameter_id = param.get_id()
|
||||||
|
|
||||||
|
if are_properties_already_in_node:
|
||||||
|
property_matching[existing_property_name_index] = existing_parameter_ids[existing_property_name_index] == parameter_id
|
||||||
|
|
||||||
|
if not are_properties_already_in_node or get_edited_object()[parameter_id_param] == null:
|
||||||
|
get_edited_object()[parameter_id_param] = parameter_id
|
||||||
|
if not are_properties_already_in_node or get_edited_object()[parameter_value_param] == null:
|
||||||
|
get_edited_object()[parameter_value_param] = param.get_default_value()
|
||||||
|
if not are_properties_already_in_node or get_edited_object()[parameter_min_value_param] == null:
|
||||||
|
get_edited_object()[parameter_min_value_param] = param.get_minimum()
|
||||||
|
if not are_properties_already_in_node or get_edited_object()[parameter_max_value_param] == null:
|
||||||
|
get_edited_object()[parameter_max_value_param] = param.get_maximum()
|
||||||
|
if not are_properties_already_in_node or get_edited_object()[parameter_default_value_param] == null:
|
||||||
|
get_edited_object()[parameter_default_value_param] = param.get_default_value()
|
||||||
|
|
||||||
|
for i in property_matching.size():
|
||||||
|
if not property_matching[i]:
|
||||||
|
get_edited_object().tool_remove_parameter(existing_parameter_ids[i])
|
||||||
|
pass
|
||||||
|
|
||||||
|
get_edited_object().notify_property_list_changed()
|
|
@ -0,0 +1,7 @@
|
||||||
|
[gd_scene load_steps=3 format=3 uid="uid://cowfthogh1n7i"]
|
||||||
|
|
||||||
|
[ext_resource type="PackedScene" uid="uid://cujo3xq0erren" path="res://addons/fmod/tool/property_editors/FmodPathEditorProperty.tscn" id="1_xvpec"]
|
||||||
|
[ext_resource type="Script" path="res://addons/fmod/tool/property_editors/FmodEventEditorProperty.gd" id="2_nkhkm"]
|
||||||
|
|
||||||
|
[node name="FmodEventEditorProperty" instance=ExtResource("1_xvpec")]
|
||||||
|
script = ExtResource("2_nkhkm")
|
|
@ -0,0 +1,10 @@
|
||||||
|
@tool class_name FmodGuidAndPathPropertyEditorUi extends HBoxContainer
|
||||||
|
|
||||||
|
|
||||||
|
func set_callables(window_callable: Callable, path_callable: Callable, guid_callable: Callable):
|
||||||
|
%EventExplorerButton.pressed.connect(window_callable)
|
||||||
|
%PathLineEdit.text_changed.connect(path_callable)
|
||||||
|
%GuidLineEdit.text_changed.connect(guid_callable)
|
||||||
|
|
||||||
|
func set_icon(icon: Texture2D):
|
||||||
|
%EventExplorerButton.icon = icon
|