Files
tactical-shooter/client/check_bake.gd
T
shawn e7299b17e9 Phase 7: netfox + godot-jolt stack upgrade
Stack installed:
- netfox v1.35.3 (core + extras + noray + internals)
- godot-jolt v0.16.0-stable

Architecture:
- Server: ENet transport (works headless, no netfox deps)
- Client/Editor: netfox rollback (RollbackSynchronizer, TickInterpolator)

New/modified:
- docs/migration-netfox-plan.md — migration architecture
- scripts/network/network_manager.gd — netfox-aware ENet fallback
- scripts/network/player.gd — clean base player
- client/characters/player_netfox.gd — rollback player w/ WeaponManager
- client/characters/input/player_net_input.gd — BaseNetInput subclass
- client/characters/character/fps_character_controller.gd — netfox input feed
- client/weapons/ — weapon data, registry, TacticalWeaponHitscan, WeaponManager
- client/scripts/round_replicator.gd — client-side round state bridge
- server/scripts/round_manager.gd — improved state machine
- server/scripts/plugin_api/plugin_manager.gd — refined plugin system
- config: enemy_tag, ally_tag for meatball targeting

Removed: old C++ SimulationServer GDExtension (replaced by netfox rollback)
2026-07-02 17:39:22 -04:00

76 lines
3.3 KiB
GDScript

@tool
extends Node
func _ready():
print("=== LightmapGI Method Check (Godot 4.2) ===")
# Check bake method via ClassDB
var has_bake = ClassDB.class_has_method("LightmapGI", "bake")
print("ClassDB: LightmapGI has bake()? ", has_bake)
# Actually instantiate and check
var scene = load("res://assets/scenes/modular/kit_demo.tscn")
if not scene:
printerr("Cannot load scene")
get_tree().quit(1)
return
var inst = scene.instantiate()
get_tree().root.add_child(inst)
var lgi = null
for c in inst.get_children():
if c is LightmapGI:
lgi = c
break
if lgi:
var has_bake_runtime = lgi.has_method("bake")
print("Runtime: LightmapGI has bake()? ", has_bake_runtime)
if has_bake_runtime:
print("OK: bake() is available!")
else:
print("NOT AVAILABLE: bake() is not in the runtime API")
# List custom methods (not from Node3D)
var custom = []
for m in lgi.get_method_list():
var name = m.get("name") if m is Dictionary else ""
# Skip Node3D/Node/Object methods
if name.begins_with("set_") or name.begins_with("get_") or name.begins_with("is_"):
if name not in [
"set_name", "get_name", "set_visible", "is_visible", "is_visible_in_tree",
"set_process", "is_processing", "set_physics_process", "is_physics_processing",
"set_owner", "get_owner", "set_transform", "get_transform",
"set_position", "get_position", "set_rotation", "get_rotation",
"set_scale", "get_scale", "set_global_transform", "get_global_transform",
"set_global_position", "get_global_position", "set_global_basis", "get_global_basis",
"set_meta", "get_meta", "has_meta", "set_script", "get_script",
"set_block_signals", "is_blocking_signals", "set_message_translation",
"set_notify_transform", "is_transform_notification_enabled",
"set_notify_local_transform", "is_local_transform_notification_enabled",
"set_as_top_level", "is_set_as_top_level", "set_disable_scale", "is_scale_disabled",
"set_layer_mask", "get_layer_mask", "set_layer_mask_value", "get_layer_mask_value",
"set_sorting_offset", "get_sorting_offset", "set_sorting_use_aabb_center", "is_sorting_use_aabb_center",
"set_editable_instance", "is_editable_instance", "set_scene_file_path", "get_scene_file_path",
"set_unique_name_in_owner", "is_unique_name_in_owner",
"set_editor_description", "get_editor_description",
"set_rotation_degrees", "get_rotation_degrees", "set_rotation_order", "get_rotation_order",
"set_rotation_edit_mode", "get_rotation_edit_mode",
"set_physics_process_priority", "get_physics_process_priority",
"set_process_priority", "get_process_priority", "set_process_thread_group", "get_process_thread_group",
"set_process_thread_messages", "get_process_thread_messages",
"set_process_thread_group_order", "get_process_thread_group_order",
"set_physics_interpolation_mode", "get_physics_interpolation_mode",
"set_auto_translate_mode", "get_auto_translate_mode",
"set_display_folded", "is_displayed_folded",
"set_process_mode", "get_process_mode",
"set_process_internal", "is_processing_internal",
"set_physics_process_internal", "is_physics_processing_internal",
"set_visibility_parent", "get_visibility_parent",
]:
custom.append(name)
print("LightmapGI-specific methods: ", custom)
get_tree().quit(0)