81e6ceb003
Address every warning that surfaced in the running game's debugger: - Drop deprecated 'graph_offset = Vector2(...)' lines from the three in-tree VisualShader resources (red.tres, green.tres, Summary.tscn). The property is editor-only graph pan, ignored at runtime but warns at load. - Add android/.gdignore so Godot stops scanning the build template copies of red.tres/green.tres (which still had graph_offset). Tighten .gitignore to keep tracking the .gdignore marker only. - Drop the broken 'nodes/fragment/connections = ...' line from the inline VisualShader in Summary.tscn — connections referenced out-of-bounds ports (e.g. port 1 on a 1-output node). The pre-compiled 'code = ...' string is kept so rendering is unaffected. - Drop the orphaned 'ext_resource WarCraft.lmbake' from WarCraft.tscn: the LightmapGI node no longer references it but Godot still loaded the (Godot-3-format) blob from the ext_resource declaration alone, triggering '(p_data.size() % 4) != 0'. - Animation tracks: SlideReset (Template.tscn), BorderAnim (Loading.tscn), and ObjectFindAll (ListObjects.tscn) each had a bezier track with empty PackedFloat32Array keys, which AnimationMixer rejects in Godot 4. Drop the empty x track in each (the y track held the actual motion). - Re-save 57 .mesh files via scripts/migrate_misc.gd so the surface format is the current Godot 4 variant. sm_stackgold.mesh in particular triggered the deprecation warning every load. GDScript: rename function parameters and locals that shadowed Node.name / Node.value in: - db/MScene.gd (set_lock, set_mesh, set_tick_reference, set_value) - scripts/Setting.gd untouched (no shadow, false positive earlier) - scenes/UI/choose_scenes/ChooseScene.gd (_load_scene, _build_path, _build_method) - scenes/levels/Levels.gd (_create_animation_slide, _create_animation_warning, _add_animation_to_player, _create_button_info, _node_object_list) lod plugin: Godot 4 added 'lod_bias' as a native property on VisualInstance3D, which collided with the plugin's 'lod_bias' member across all five lod_*.gd files. Rename to 'lod_distance_bias' so the scripts parse again. Also drop Light3D.shadow_color writes in lod_omni_light.gd and lod_spot_light.gd — that property was removed in Godot 4, so the related shadow_value computation became dead code. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
100 lines
1.9 KiB
GDScript
100 lines
1.9 KiB
GDScript
extends "res://db/MBase.gd"
|
|
|
|
var m_value = 0
|
|
var m_lock = null
|
|
var m_label = null
|
|
var m_label_counter = null
|
|
var m_tick_reference = 0
|
|
var m_key = null
|
|
var m_level = null
|
|
var m_mesh = null
|
|
var m_counter = null
|
|
var m_row_id = null
|
|
|
|
const LOCK_ID = 0
|
|
const LABEL_ID = 1
|
|
const KEY_ID = 2
|
|
const LEVEL_ID = 3
|
|
const MESH_ID = 4
|
|
const LABEL_COUNTER = 5
|
|
const COUNTER_ID = 6
|
|
|
|
func _init(row_index):
|
|
table = Global.database.get_table_by_name("scenes")
|
|
m_row_id = row_index
|
|
var datas = table.get_data_at_row_idx(m_row_id)
|
|
|
|
if _get_level(datas) == Global.current_scene_int:
|
|
m_key = _get_key(datas)
|
|
m_lock = _get_lock(datas)
|
|
m_label = _get_label(datas)
|
|
m_label_counter = _get_label_counter(datas)
|
|
m_mesh = _get_mesh(datas)
|
|
m_counter = _get_counter(datas)
|
|
|
|
func key():
|
|
return m_key
|
|
|
|
func label():
|
|
return m_label
|
|
|
|
func label_counter():
|
|
return m_label_counter
|
|
|
|
func lock():
|
|
return m_lock
|
|
|
|
func set_lock(p_value):
|
|
m_lock = _set_data(LOCK_ID, m_row_id, p_value)
|
|
|
|
func mesh():
|
|
return m_mesh
|
|
|
|
func tween():
|
|
return m_mesh + "/Tween"
|
|
|
|
func set_mesh(p_value):
|
|
m_mesh = p_value
|
|
|
|
func tick_reference():
|
|
return m_tick_reference
|
|
|
|
func set_tick_reference(p_value):
|
|
m_tick_reference = p_value
|
|
|
|
func value():
|
|
return m_value
|
|
|
|
func set_value(p_value):
|
|
m_value = p_value
|
|
|
|
func audio_sound():
|
|
var stream = load("res://assets/sounds/objects/" + label() + ".ogg")
|
|
stream.set_loop(false)
|
|
return stream
|
|
|
|
func counter():
|
|
return m_counter
|
|
|
|
## PRIVATE
|
|
func _get_lock(datas):
|
|
return bool(int(_get_data(datas, LOCK_ID)))
|
|
|
|
func _get_label(datas):
|
|
return str(_get_data(datas, LABEL_ID))
|
|
|
|
func _get_key(datas):
|
|
return str(_get_data(datas, KEY_ID))
|
|
|
|
func _get_level(datas):
|
|
return int(_get_data(datas, LEVEL_ID))
|
|
|
|
func _get_mesh(datas):
|
|
return "HiddenObjectsItems/" + str(_get_data(datas, MESH_ID))
|
|
|
|
func _get_label_counter(datas):
|
|
return str(_get_data(datas, LABEL_COUNTER))
|
|
|
|
func _get_counter(datas):
|
|
return int(_get_data(datas, COUNTER_ID))
|