Replace godot_db_manager plugin with native DB, port lod plugin
godot_db_manager was incompatible with Godot 4 (used WindowDialog, Tabs, PopupPanel which were all removed). Replace with a minimal Database.gd that parses the same ahog.json format and exposes the same surface API (get_table_by_name, get_data_at_row_idx, edit_data, save_db, etc.) used by the M* model classes — no changes needed in MBase/MScene/MLevel/MSetting. Also port the lod plugin: fix class_name syntax (Godot 4 uses @icon separately from class_name extends) and Particles -> GPUParticles3D. Rewrite Global.gd async scene loading: the convert-3to4 tool mapped load_interactive -> load_threaded_request but those have different APIs (stage count, poll vs. status enum). Reimplement using the new load_threaded_get_status / load_threaded_get pair. Clean project.godot: drop the old _global_script_classes table (Godot 4 uses inline class_name declarations), remove gddb_* autoloads, and remove the godot_db_manager entry from editor_plugins. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
+3
-211
@@ -1,4 +1,3 @@
|
||||
; Project was converted by built-in tool to Godot 4
|
||||
; Engine configuration file.
|
||||
; It's best edited using the editor UI and not directly,
|
||||
; since the parameters that go here are not all obvious.
|
||||
@@ -9,196 +8,6 @@
|
||||
|
||||
config_version=5
|
||||
|
||||
_global_script_classes=[ {
|
||||
"base": "Node",
|
||||
"class": "GDDBConstants",
|
||||
"language": "GDScript",
|
||||
"path": "res://addons/godot_db_manager/core/GDDBConstants.gd"
|
||||
}, {
|
||||
"base": "Object",
|
||||
"class": "GDDBData",
|
||||
"language": "GDScript",
|
||||
"path": "res://addons/godot_db_manager/core/db_data.gd"
|
||||
}, {
|
||||
"base": "Label",
|
||||
"class": "GDDBDataLabel",
|
||||
"language": "GDScript",
|
||||
"path": "res://addons/godot_db_manager/data_label.gd"
|
||||
}, {
|
||||
"base": "PopupPanel",
|
||||
"class": "GDDBDataPanel",
|
||||
"language": "GDScript",
|
||||
"path": "res://addons/godot_db_manager/dlgs/data_dlg.gd"
|
||||
}, {
|
||||
"base": "WindowDialog",
|
||||
"class": "GDDBDeletePropDlg",
|
||||
"language": "GDScript",
|
||||
"path": "res://addons/godot_db_manager/dlgs/delete_prop_dlg.gd"
|
||||
}, {
|
||||
"base": "WindowDialog",
|
||||
"class": "GDDBDeleteTableDlg",
|
||||
"language": "GDScript",
|
||||
"path": "res://addons/godot_db_manager/dlgs/delete_table_dlg.gd"
|
||||
}, {
|
||||
"base": "WindowDialog",
|
||||
"class": "GDDBEditStringDlg",
|
||||
"language": "GDScript",
|
||||
"path": "res://addons/godot_db_manager/dlgs/edit_string_dlg.gd"
|
||||
}, {
|
||||
"base": "Tabs",
|
||||
"class": "GDDBEditor",
|
||||
"language": "GDScript",
|
||||
"path": "res://addons/godot_db_manager/db_editor.gd"
|
||||
}, {
|
||||
"base": "Node",
|
||||
"class": "GDDBGlobals",
|
||||
"language": "GDScript",
|
||||
"path": "res://addons/godot_db_manager/core/GDDBGlobals.gd"
|
||||
}, {
|
||||
"base": "Control",
|
||||
"class": "GDDBInterface",
|
||||
"language": "GDScript",
|
||||
"path": "res://addons/godot_db_manager/db_interface.gd"
|
||||
}, {
|
||||
"base": "FileDialog",
|
||||
"class": "GDDBLoadResourcePathDlg",
|
||||
"language": "GDScript",
|
||||
"path": "res://addons/godot_db_manager/dlgs/load_res_path_dlg.gd"
|
||||
}, {
|
||||
"base": "Object",
|
||||
"class": "GDDBMan",
|
||||
"language": "GDScript",
|
||||
"path": "res://addons/godot_db_manager/core/db_man.gd"
|
||||
}, {
|
||||
"base": "EditorPlugin",
|
||||
"class": "GDDBManager",
|
||||
"language": "GDScript",
|
||||
"path": "res://addons/godot_db_manager/db_manager.gd"
|
||||
}, {
|
||||
"base": "Control",
|
||||
"class": "GDDBMenu",
|
||||
"language": "GDScript",
|
||||
"path": "res://addons/godot_db_manager/menu.gd"
|
||||
}, {
|
||||
"base": "WindowDialog",
|
||||
"class": "GDDBNewDBDlg",
|
||||
"language": "GDScript",
|
||||
"path": "res://addons/godot_db_manager/dlgs/new_db_dlg.gd"
|
||||
}, {
|
||||
"base": "WindowDialog",
|
||||
"class": "GDDBNewTableDlg",
|
||||
"language": "GDScript",
|
||||
"path": "res://addons/godot_db_manager/dlgs/new_table_dlg.gd"
|
||||
}, {
|
||||
"base": "Object",
|
||||
"class": "GDDBProperty",
|
||||
"language": "GDScript",
|
||||
"path": "res://addons/godot_db_manager/core/db_prop.gd"
|
||||
}, {
|
||||
"base": "Object",
|
||||
"class": "GDDBTable",
|
||||
"language": "GDScript",
|
||||
"path": "res://addons/godot_db_manager/core/db_table.gd"
|
||||
}, {
|
||||
"base": "Control",
|
||||
"class": "GDDBTableCell",
|
||||
"language": "GDScript",
|
||||
"path": "res://addons/godot_db_manager/table_cell.gd"
|
||||
}, {
|
||||
"base": "Control",
|
||||
"class": "GDDBTableEditor",
|
||||
"language": "GDScript",
|
||||
"path": "res://addons/godot_db_manager/table_editor.gd"
|
||||
}, {
|
||||
"base": "Control",
|
||||
"class": "GDDBTableItem",
|
||||
"language": "GDScript",
|
||||
"path": "res://addons/godot_db_manager/table_item.gd"
|
||||
}, {
|
||||
"base": "Control",
|
||||
"class": "GDDBTableProperty",
|
||||
"language": "GDScript",
|
||||
"path": "res://addons/godot_db_manager/table_property.gd"
|
||||
}, {
|
||||
"base": "Control",
|
||||
"class": "GDDBTablesHeader",
|
||||
"language": "GDScript",
|
||||
"path": "res://addons/godot_db_manager/tables_header.gd"
|
||||
}, {
|
||||
"base": "Control",
|
||||
"class": "GDDBTablesList",
|
||||
"language": "GDScript",
|
||||
"path": "res://addons/godot_db_manager/tables_list.gd"
|
||||
}, {
|
||||
"base": "Node",
|
||||
"class": "GDDBTypes",
|
||||
"language": "GDScript",
|
||||
"path": "res://addons/godot_db_manager/core/GDDBTypes.gd"
|
||||
}, {
|
||||
"base": "Object",
|
||||
"class": "GDDatabase",
|
||||
"language": "GDScript",
|
||||
"path": "res://addons/godot_db_manager/core/database.gd"
|
||||
}, {
|
||||
"base": "CPUParticles",
|
||||
"class": "LODCPUParticles",
|
||||
"language": "GDScript",
|
||||
"path": "res://addons/lod/lod_cpu_particles.gd"
|
||||
}, {
|
||||
"base": "OmniLight",
|
||||
"class": "LODOmniLight",
|
||||
"language": "GDScript",
|
||||
"path": "res://addons/lod/lod_omni_light.gd"
|
||||
}, {
|
||||
"base": "Particles",
|
||||
"class": "LODParticles",
|
||||
"language": "GDScript",
|
||||
"path": "res://addons/lod/lod_particles.gd"
|
||||
}, {
|
||||
"base": "Spatial",
|
||||
"class": "LODSpatial",
|
||||
"language": "GDScript",
|
||||
"path": "res://addons/lod/lod_spatial.gd"
|
||||
}, {
|
||||
"base": "SpotLight",
|
||||
"class": "LODSpotLight",
|
||||
"language": "GDScript",
|
||||
"path": "res://addons/lod/lod_spot_light.gd"
|
||||
} ]
|
||||
_global_script_class_icons={
|
||||
"GDDBConstants": "",
|
||||
"GDDBData": "",
|
||||
"GDDBDataLabel": "",
|
||||
"GDDBDataPanel": "",
|
||||
"GDDBDeletePropDlg": "",
|
||||
"GDDBDeleteTableDlg": "",
|
||||
"GDDBEditStringDlg": "",
|
||||
"GDDBEditor": "",
|
||||
"GDDBGlobals": "",
|
||||
"GDDBInterface": "",
|
||||
"GDDBLoadResourcePathDlg": "",
|
||||
"GDDBMan": "",
|
||||
"GDDBManager": "",
|
||||
"GDDBMenu": "",
|
||||
"GDDBNewDBDlg": "",
|
||||
"GDDBNewTableDlg": "",
|
||||
"GDDBProperty": "",
|
||||
"GDDBTable": "",
|
||||
"GDDBTableCell": "",
|
||||
"GDDBTableEditor": "",
|
||||
"GDDBTableItem": "",
|
||||
"GDDBTableProperty": "",
|
||||
"GDDBTablesHeader": "",
|
||||
"GDDBTablesList": "",
|
||||
"GDDBTypes": "",
|
||||
"GDDatabase": "",
|
||||
"LODCPUParticles": "res://addons/lod/lod_cpu_particles.svg",
|
||||
"LODOmniLight": "res://addons/lod/lod_omni_light.svg",
|
||||
"LODParticles": "res://addons/lod/lod_particles.svg",
|
||||
"LODSpatial": "res://addons/lod/lod_spatial.svg",
|
||||
"LODSpotLight": "res://addons/lod/lod_spot_light.svg"
|
||||
}
|
||||
|
||||
[application]
|
||||
|
||||
config/name="Puzzle Quest"
|
||||
@@ -215,9 +24,6 @@ config/quit_on_go_back=false
|
||||
|
||||
Loading="*res://scenes/UI/loading/Loading.tscn"
|
||||
Global="*res://scripts/Global.gd"
|
||||
gddb_constants="*res://addons/godot_db_manager/core/GDDBConstants.gd"
|
||||
gddb_types="*res://addons/godot_db_manager/core/GDDBTypes.gd"
|
||||
gddb_globals="*res://addons/godot_db_manager/core/GDDBGlobals.gd"
|
||||
Setting="*res://scripts/Setting.gd"
|
||||
Event="*res://scripts/Event.gd"
|
||||
GlobalAnimation="*res://scripts/Animation.gd"
|
||||
@@ -234,7 +40,7 @@ window/stretch/aspect="expand"
|
||||
|
||||
[editor_plugins]
|
||||
|
||||
enabled=PackedStringArray( "res://addons/godot_db_manager/plugin.cfg", "res://addons/lod/plugin.cfg" )
|
||||
enabled=PackedStringArray("res://addons/lod/plugin.cfg")
|
||||
|
||||
[importer_defaults]
|
||||
|
||||
@@ -252,27 +58,13 @@ scene={
|
||||
|
||||
ui_end={
|
||||
"deadzone": 0.5,
|
||||
"events": [ Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"command":false,"pressed":false,"keycode":4194318,"physical_keycode":0,"unicode":0,"echo":false,"script":null)
|
||||
, Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"command":false,"pressed":false,"keycode":4194305,"physical_keycode":0,"unicode":0,"echo":false,"script":null)
|
||||
]
|
||||
"events": [Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":4194318,"physical_keycode":0,"unicode":0,"echo":false,"script":null), Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":4194305,"physical_keycode":0,"unicode":0,"echo":false,"script":null)]
|
||||
}
|
||||
|
||||
[locale]
|
||||
|
||||
translations=PackedStringArray( "res://locales/fr.po", "res://locales/en.po" )
|
||||
locale_filter=[ 1, [ "en_GB", "fr_FR" ] ]
|
||||
|
||||
[physics]
|
||||
|
||||
common/enable_pause_aware_picking=true
|
||||
translations=PackedStringArray("res://locales/fr.po", "res://locales/en.po")
|
||||
|
||||
[rendering]
|
||||
|
||||
quality/driver/fallback_to_gles2=true
|
||||
threads/thread_model=2
|
||||
vram_compression/import_etc=true
|
||||
shading/overrides/force_vertex_shading.mobile=false
|
||||
quality/lightmapping/use_bicubic_sampling.mobile=true
|
||||
quality/depth/hdr.mobile=true
|
||||
environment/defaults/default_environment="res://default_env.tres"
|
||||
quality/dynamic_fonts/use_oversampling=false
|
||||
|
||||
Reference in New Issue
Block a user