Fresh start: replace with naxIO/netfox-cs-sample foundation
Complete replacement of the tactical-shooter project with the netfox-cs-sample (MIT) — a CS 1.6 inspired multiplayer FPS built with Godot 4 and netfox. ## What's new - Full CS-style gameplay: teams (T/CT), rounds, economy, buy menu - 6 weapons: Knife, Glock, USP, AK-47, M4A1, AWP - Bomb plant/defuse with 2 bombsites - Flashbang & smoke grenades - Proper netfox rollback netcode at 64 tick - Network popup UI for host/join - HUD, crosshair, round timer, scoreboard - All netfox singletons registered as autoloads (works in exported builds) ## Architecture - Listen-server (host from client, no dedicated server binary) - Multiplayer-fps game lives at examples/multiplayer-fps/ - Netfox addons registered as autoloads for exported build compat - Godot 4.7 with Forward+ renderer ## Removed - Old headless-server architecture (client_main, server_main, player.gd, etc.) - Custom netfox bootstrap with ENet fallback - Old ChaffGames FPS template (2,420 lines, 844 KB) - SimulationServer GDExtension stub - Godot-jolt physics (netfox sample uses default Godot physics) - Duplicate weapon_data.gd, anti_cheat.gd, round_manager.gd, etc. - Server browser API Python venv (87 MB) - test_range map and modular assets ## Preserved - Git history - Server config at config/default_server_config.cfg - Windows export preset - Build directory (gitignored) Co-authored-by: naxIO <naxIO@users.noreply.github.com>
This commit is contained in:
@@ -0,0 +1,20 @@
|
||||
extends VestMeasure
|
||||
|
||||
## Measures the average of a metric.
|
||||
|
||||
var _sum: Variant
|
||||
var _count: int = 0
|
||||
|
||||
func _init(p_metric: StringName):
|
||||
super(p_metric)
|
||||
|
||||
func get_measure_name() -> String:
|
||||
return "average"
|
||||
|
||||
func get_value() -> Variant:
|
||||
return _sum / _count
|
||||
|
||||
func ingest(value: Variant) -> void:
|
||||
_sum = _sum + value if _count else value
|
||||
_count += 1
|
||||
|
||||
@@ -0,0 +1 @@
|
||||
uid://df6rp7biyybqa
|
||||
@@ -0,0 +1,20 @@
|
||||
extends VestMeasure
|
||||
|
||||
## Measures the maximum of a metric.
|
||||
|
||||
var _max: Variant
|
||||
var _has: bool = false
|
||||
|
||||
func _init(p_metric: StringName):
|
||||
super(p_metric)
|
||||
|
||||
func get_measure_name() -> String:
|
||||
return "max"
|
||||
|
||||
func get_value() -> Variant:
|
||||
return _max
|
||||
|
||||
func ingest(value: Variant) -> void:
|
||||
_max = max(_max, value) if _has else value
|
||||
_has = true
|
||||
|
||||
@@ -0,0 +1 @@
|
||||
uid://dkd237tw7ixyw
|
||||
@@ -0,0 +1,38 @@
|
||||
class_name VestMeasure
|
||||
|
||||
## Base class for implementing measures.
|
||||
##
|
||||
## During benchmarks, the benchmarked code may emit custom metrics. Measures
|
||||
## listen to these metrics, and aggregate the many emitted values into a single
|
||||
## value, that can be included in the test report.
|
||||
## [br][br]
|
||||
## For example, a measure may simply count the number of emissions, calculate
|
||||
## the average of the emitted values, or keep track of the minimum and maximum
|
||||
## value emitted.
|
||||
|
||||
var _metric: StringName = &""
|
||||
|
||||
func _init(p_metric: StringName):
|
||||
_metric = p_metric
|
||||
|
||||
## Get the name of the metric this measure tracks.
|
||||
func get_metric_name() -> StringName:
|
||||
return _metric
|
||||
|
||||
## Get the name of the measure.
|
||||
## [br][br]
|
||||
## [i]override[/i]
|
||||
func get_measure_name() -> String:
|
||||
return ""
|
||||
|
||||
## Get the value of the measure.
|
||||
## [br][br]
|
||||
## [i]override[/i]
|
||||
func get_value() -> Variant:
|
||||
return null
|
||||
|
||||
## Ingest an emitted metric value.
|
||||
## [br][br]
|
||||
## [i]override[/i]
|
||||
func ingest(_value: Variant) -> void:
|
||||
pass
|
||||
@@ -0,0 +1 @@
|
||||
uid://ds6pfq1623j80
|
||||
@@ -0,0 +1,20 @@
|
||||
extends VestMeasure
|
||||
|
||||
## Measures the minimum of a metric.
|
||||
|
||||
var _min: Variant
|
||||
var _has: bool = false
|
||||
|
||||
func _init(p_metric: StringName):
|
||||
super(p_metric)
|
||||
|
||||
func get_measure_name() -> String:
|
||||
return "min"
|
||||
|
||||
func get_value() -> Variant:
|
||||
return _min
|
||||
|
||||
func ingest(value: Variant) -> void:
|
||||
_min = min(_min, value) if _has else value
|
||||
_has = true
|
||||
|
||||
@@ -0,0 +1 @@
|
||||
uid://c8kvrmiyl1hph
|
||||
@@ -0,0 +1,20 @@
|
||||
extends VestMeasure
|
||||
|
||||
## Measures the sum of a metric.
|
||||
|
||||
var _sum: Variant
|
||||
var _has: bool = false
|
||||
|
||||
func _init(p_metric: StringName):
|
||||
super(p_metric)
|
||||
|
||||
func get_measure_name() -> String:
|
||||
return "sum"
|
||||
|
||||
func get_value() -> Variant:
|
||||
return _sum
|
||||
|
||||
func ingest(value: Variant) -> void:
|
||||
_sum = _sum + value if _has else value
|
||||
_has = true
|
||||
|
||||
@@ -0,0 +1 @@
|
||||
uid://dbmj156egy6v
|
||||
@@ -0,0 +1,18 @@
|
||||
extends VestMeasure
|
||||
|
||||
## Measures the value of a metric, retaining only the last emitted value.
|
||||
|
||||
var _value: Variant = null
|
||||
|
||||
func _init(p_metric: StringName):
|
||||
super(p_metric)
|
||||
|
||||
func get_measure_name() -> String:
|
||||
return "value"
|
||||
|
||||
func get_value() -> Variant:
|
||||
return _value
|
||||
|
||||
func ingest(value: Variant) -> void:
|
||||
_value = value
|
||||
|
||||
@@ -0,0 +1 @@
|
||||
uid://k53m1xtcmsvh
|
||||
Reference in New Issue
Block a user