Run godot --convert-3to4 (automated conversion)

Apply Godot 4.6 automated conversion: renames Spatial.translate->position,
margin_*->offset_*, tool->@tool, .empty()->.is_empty(), DynamicFont->FontFile,
onready->@onready, export()->@export, and many more.

127 files changed by the tool. Manual fixes still required for:
 - godot_db_manager plugin (incompatible APIs: WindowDialog, Tabs, etc.)
 - lod plugin (Spatial -> Node3D renames)
 - ResourceLoader.load_interactive removed -> load_threaded_request
 - OS.set_window_fullscreen removed -> DisplayServer
 - Viewport.set_size_override removed

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
Vaillant Jeremy
2026-05-16 19:18:27 +02:00
parent efa35a444a
commit 01ea3af253
127 changed files with 2262 additions and 2258 deletions
@@ -1,10 +1,10 @@
@tool
"""
class GDDBConstants
"""
class_name GDDBConstants
tool
extends Node
# GDDB signature
+1 -1
View File
@@ -1,10 +1,10 @@
@tool
"""
class GDDBGlobals
"""
class_name GDDBGlobals
tool
extends Node
# a flag that tells if the tool's interface is active or not
+1 -1
View File
@@ -1,10 +1,10 @@
@tool
"""
class GDDBTypes
"""
class_name GDDBTypes
tool
extends Node
# Database loading errors
+5 -3
View File
@@ -188,11 +188,11 @@ func is_dirty() -> bool :
# serialization
func save_db() -> void :
if(m_db_name.empty()):
if(m_db_name.is_empty()):
print("ERROR: GDDatabase::save_db() - current database doesn't have a name")
return
if(m_db_filepath.empty()):
if(m_db_filepath.is_empty()):
print("ERROR: GDDatabase::save_db() - current database doesn't have a path file")
return
@@ -257,7 +257,9 @@ func load_db() -> int :
file.open(get_db_filepath(), File.READ)
var content = file.get_as_text()
file.close()
var dictionary = JSON.parse(content).result
var test_json_conv = JSON.new()
test_json_conv.parse(content).result
var dictionary = test_json_conv.get_data()
# check the signature
if(!dictionary.has(gddb_constants.c_gddb_signature)):
+40 -40
View File
@@ -1,40 +1,40 @@
"""
GDDBData class
"""
class_name GDDBData
extends Object
var m_prop_id : int = -1
var m_row_idx : int = -1
var m_data : String = ""
# sets the property id
func set_prop_id(prop_id : int) -> void :
m_prop_id = prop_id
# returns the property id
func get_prop_id() -> int :
return m_prop_id
# sets the row index
func set_row_idx(row_idx : int) -> void :
m_row_idx = row_idx
# returns the row index
func get_row_idx() -> int :
return m_row_idx
# sets the data
func set_data(data : String) -> void :
m_data = data
# returns the data
func get_data() -> String :
return m_data
# dumps the data
func dump() -> String :
var dump_text = "prop_id: " + str(m_prop_id) + ", row_idx: " + str(m_row_idx) + ", data: " + m_data
return dump_text
"""
GDDBData class
"""
class_name GDDBData
extends Object
var m_prop_id : int = -1
var m_row_idx : int = -1
var m_data : String = ""
# sets the property id
func set_prop_id(prop_id : int) -> void :
m_prop_id = prop_id
# returns the property id
func get_prop_id() -> int :
return m_prop_id
# sets the row index
func set_row_idx(row_idx : int) -> void :
m_row_idx = row_idx
# returns the row index
func get_row_idx() -> int :
return m_row_idx
# sets the data
func set_data(data : String) -> void :
m_data = data
# returns the data
func get_data() -> String :
return m_data
# dumps the data
func dump() -> String :
var dump_text = "prop_id: " + str(m_prop_id) + ", row_idx: " + str(m_row_idx) + ", data: " + m_data
return dump_text
+141 -141
View File
@@ -1,141 +1,141 @@
"""
GDDBMan class
"""
class_name GDDBMan
extends Object
var m_databases = []
# adds a database
func add_database(db_name : String) -> int :
if(!can_add_db(db_name)):
print("ERROR: GDDBMan::add_database(" + db_name + ") already exists")
return gddb_constants.c_invalid_id
# print("GDDBMan::add_database(" + db_name + ")")
var db_id = generate_new_db_id()
var db = load(gddb_constants.c_addon_main_path + "core/database.gd").new()
db.set_db_id(db_id)
db.set_db_name(db_name)
m_databases.push_back(db)
return db_id
# loads a database from a file
func load_database(filepath : String) -> int :
var db_id = generate_new_db_id()
var db = load(gddb_constants.c_addon_main_path + "core/database.gd").new()
db.set_db_id(db_id)
db.set_db_filepath(filepath)
if(db.load_db() == gddb_types.e_db_invalid_file):
db.free()
return gddb_types.e_db_invalid_file
elif(db.load_db() == gddb_types.e_db_invalid_ver):
db.free()
return gddb_types.e_db_invalid_ver
m_databases.push_back(db)
return db_id
# erases a database at index
# it does not erase the database file
func erase_db_at(idx : int) -> void :
if(idx < 0 || idx > m_databases.size() - 1):
print("ERROR: GDDBMan::erase_db_at(" + str(idx) + ") - index out of bounds")
m_databases[idx].clear()
m_databases[idx].free()
m_databases.remove(idx)
# erases a database by id
# it does not erase the database file
func erase_db_by_id(db_id : int) -> void :
var db_found = false
for idx in range(0, m_databases.size()):
if(m_databases[idx].get_db_id() == db_id):
m_databases[idx].clear()
m_databases[idx].free()
m_databases.remove(idx)
db_found = true
break
if(!db_found):
print("ERROR: GDDBMan::erase_db_by_id(" + str(db_id) + ") - database not found")
# erases a database by name
# it does not erase the database file
func erase_db_by_name(db_name : String) -> void :
var db_found = false
for idx in range(0, m_databases.size()):
if(m_databases[idx].get_db_name() == db_name):
m_databases[idx].clear()
m_databases[idx].free()
m_databases.remove(idx)
db_found = true
break
if(!db_found):
print("ERROR: GDDBMan::erase_db_by_id(" + db_name + ") - database not found")
# returns the databases count
func get_databases_count() -> int :
return m_databases.size()
# returns a database at index
func get_db_at(idx : int) -> Object :
if(idx < 0 || idx >= m_databases.size()):
print("ERROR: GDDBMan::get_db_at(" + str(idx) + ") - invalid index")
return null
return m_databases[idx]
# returns a database by an id
func get_db_by_id(db_id : int) -> Object :
for idx in range(0, m_databases.size()):
if(m_databases[idx].get_db_id() == db_id):
return m_databases[idx]
print("ERROR: GDDBMan::get_db_by_id(" + str(db_id) + ") - invalid id")
return null
# returns a database by a name
func get_db_by_name(db_name : String) -> Object :
for idx in range(0, m_databases.size()):
if(m_databases[idx].get_db_name() == db_name):
return m_databases[idx]
return null
# generates a new table id
func generate_new_db_id() -> int :
if(m_databases.size() == 0):
return 0
return m_databases[m_databases.size()-1].get_db_id() + 1
# checks if a database already exists
func can_add_db(db_name : String) -> bool :
for idx in range(0, m_databases.size()):
if(m_databases[idx].get_db_name() == db_name):
print("ERROR: Database with name \"" + db_name + "\" already exists")
return false
return true
# deletes all databases
func clear() -> void :
for idx in range(0, m_databases.size()):
m_databases[idx].clear()
m_databases[idx].free()
m_databases.clear()
# dumps all databases
func dump(to_console : bool = false) -> String :
var dump_text = "\nDatabase manager - dump"
dump_text += "\n===================================================================================="
for idx in range(0, m_databases.size()):
dump_text += m_databases[idx].dump()
dump_text += "===================================================================================="
if(to_console):
print(dump_text)
return dump_text
"""
GDDBMan class
"""
class_name GDDBMan
extends Object
var m_databases = []
# adds a database
func add_database(db_name : String) -> int :
if(!can_add_db(db_name)):
print("ERROR: GDDBMan::add_database(" + db_name + ") already exists")
return gddb_constants.c_invalid_id
# print("GDDBMan::add_database(" + db_name + ")")
var db_id = generate_new_db_id()
var db = load(gddb_constants.c_addon_main_path + "core/database.gd").new()
db.set_db_id(db_id)
db.set_db_name(db_name)
m_databases.push_back(db)
return db_id
# loads a database from a file
func load_database(filepath : String) -> int :
var db_id = generate_new_db_id()
var db = load(gddb_constants.c_addon_main_path + "core/database.gd").new()
db.set_db_id(db_id)
db.set_db_filepath(filepath)
if(db.load_db() == gddb_types.e_db_invalid_file):
db.free()
return gddb_types.e_db_invalid_file
elif(db.load_db() == gddb_types.e_db_invalid_ver):
db.free()
return gddb_types.e_db_invalid_ver
m_databases.push_back(db)
return db_id
# erases a database at index
# it does not erase the database file
func erase_db_at(idx : int) -> void :
if(idx < 0 || idx > m_databases.size() - 1):
print("ERROR: GDDBMan::erase_db_at(" + str(idx) + ") - index out of bounds")
m_databases[idx].clear()
m_databases[idx].free()
m_databases.remove(idx)
# erases a database by id
# it does not erase the database file
func erase_db_by_id(db_id : int) -> void :
var db_found = false
for idx in range(0, m_databases.size()):
if(m_databases[idx].get_db_id() == db_id):
m_databases[idx].clear()
m_databases[idx].free()
m_databases.remove(idx)
db_found = true
break
if(!db_found):
print("ERROR: GDDBMan::erase_db_by_id(" + str(db_id) + ") - database not found")
# erases a database by name
# it does not erase the database file
func erase_db_by_name(db_name : String) -> void :
var db_found = false
for idx in range(0, m_databases.size()):
if(m_databases[idx].get_db_name() == db_name):
m_databases[idx].clear()
m_databases[idx].free()
m_databases.remove(idx)
db_found = true
break
if(!db_found):
print("ERROR: GDDBMan::erase_db_by_id(" + db_name + ") - database not found")
# returns the databases count
func get_databases_count() -> int :
return m_databases.size()
# returns a database at index
func get_db_at(idx : int) -> Object :
if(idx < 0 || idx >= m_databases.size()):
print("ERROR: GDDBMan::get_db_at(" + str(idx) + ") - invalid index")
return null
return m_databases[idx]
# returns a database by an id
func get_db_by_id(db_id : int) -> Object :
for idx in range(0, m_databases.size()):
if(m_databases[idx].get_db_id() == db_id):
return m_databases[idx]
print("ERROR: GDDBMan::get_db_by_id(" + str(db_id) + ") - invalid id")
return null
# returns a database by a name
func get_db_by_name(db_name : String) -> Object :
for idx in range(0, m_databases.size()):
if(m_databases[idx].get_db_name() == db_name):
return m_databases[idx]
return null
# generates a new table id
func generate_new_db_id() -> int :
if(m_databases.size() == 0):
return 0
return m_databases[m_databases.size()-1].get_db_id() + 1
# checks if a database already exists
func can_add_db(db_name : String) -> bool :
for idx in range(0, m_databases.size()):
if(m_databases[idx].get_db_name() == db_name):
print("ERROR: Database with name \"" + db_name + "\" already exists")
return false
return true
# deletes all databases
func clear() -> void :
for idx in range(0, m_databases.size()):
m_databases[idx].clear()
m_databases[idx].free()
m_databases.clear()
# dumps all databases
func dump(to_console : bool = false) -> String :
var dump_text = "\nDatabase manager - dump"
dump_text += "\n===================================================================================="
for idx in range(0, m_databases.size()):
dump_text += m_databases[idx].dump()
dump_text += "===================================================================================="
if(to_console):
print(dump_text)
return dump_text
+2 -2
View File
@@ -122,7 +122,7 @@ func add_table_prop(prop_name : String, table_name : String) -> int :
func link_tables_props() -> void :
for idx in range(0, m_props.size()):
var custom_prop_type = m_props[idx].get_prop_custom_type()
if(!custom_prop_type.empty()):
if(!custom_prop_type.is_empty()):
var table = m_parent_database.get_table_by_name(custom_prop_type)
m_props[idx].set_prop_type(gddb_types.e_prop_types_count + table.get_table_id())
m_props[idx].set_prop_custom_type("")
@@ -396,7 +396,7 @@ func get_dictionary_at_row_idx(row_idx : int) -> Dictionary :
dict[data_prop_name] = m_data[idx].get_data()
prop_idx += 1
if(dict.empty()):
if(dict.is_empty()):
print("ERROR: GDDBDTable::get_data_at_row_idx(" + str(row_idx) + ") - invalid row index")
return dict