Files
tactical-shooter/client/tools/validate_map/validator_bootstrap.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

32 lines
818 B
GDScript

@tool
extends Node
# Bootstrap: loads and runs validate_map.gd from the main scene.
# Usage:
# 1. Set project.godot run/main_scene to this scene
# 2. godot --path client [-- <scene_path>]
# 3. Then restore the original main_scene
func _ready() -> void:
var args := OS.get_cmdline_user_args()
if args.is_empty():
print("Usage: godot --path client [-- <scene_path>]")
print("")
print("If no scene_path given, validates the default scene.")
get_tree().quit(1)
return
var scene_path := args[0]
# Load and run the validate_map.gd script
var validator_script := load("res://tools/validate_map.gd")
if validator_script == null:
push_error("Failed to load validator script")
get_tree().quit(1)
return
var validator := Node.new()
validator.set_script(validator_script)
add_child(validator)