1-6 player splitscreen multiplayer addon
support window scaling (hope this works with 2d too)
| -rw-r--r-- | addons/splitter/package.json | 4 | ||||
| -rw-r--r-- | addons/splitter/screen.gd | 3 | ||||
| -rw-r--r-- | project.godot | 4 | ||||
| -rw-r--r-- | test.gd | 2 |
4 files changed, 9 insertions, 4 deletions
diff --git a/addons/splitter/package.json b/addons/splitter/package.json index ab4ac29..4e0ec0c 100644 --- a/addons/splitter/package.json +++ b/addons/splitter/package.json @@ -1,6 +1,6 @@ { "name": "@bendn/splitter", - "version": "1.0.5", + "version": "1.0.6", "description": "small addon for splitscreen multiplayer", "main": "screen.gd", "scripts": { @@ -22,4 +22,4 @@ "url": "https://github.com/bend-n/splitter/issues" }, "homepage": "https://github.com/bend-n/splitter#readme" -} +}
\ No newline at end of file diff --git a/addons/splitter/screen.gd b/addons/splitter/screen.gd index 4673b1d..6f05c4f 100644 --- a/addons/splitter/screen.gd +++ b/addons/splitter/screen.gd @@ -18,7 +18,7 @@ func resize_players(): #└────┘ for p in players: p.player_count = len(players) - p.resize_port(get_window().size) + p.resize_port(get_window().size / ProjectSettings.get_setting("display/window/stretch/scale", 1)) func join() -> PlayerViewport: if len(players) > 5: @@ -29,6 +29,7 @@ func join() -> PlayerViewport: players.append(player) add_child(player) set_process(true) + resize_players() return player func leave() -> void: diff --git a/project.godot b/project.godot index f3809b5..a9a8538 100644 --- a/project.godot +++ b/project.godot @@ -15,6 +15,10 @@ config/description="smol addon to simplify creation of multiplayer splitscreen" run/main_scene="res://Main.tscn" config/features=PackedStringArray("4.0") +[display] + +window/stretch/scale=6.0 + [rendering] renderer/rendering_method="gl_compatibility" @@ -6,7 +6,7 @@ func _ready() -> void: var cam := Camera3D.new() var p := join() p.viewport.add_child(cam) - var l := Label.new(); l.position += Vector2.ONE * 10; l.add_theme_font_size_override("font_size", 80); l.text = str(p.id) + var l := Label.new(); l.position += Vector2.ONE * 10; l.add_theme_font_size_override("font_size", 20); l.text = str(p.id) p.add_child(l) await get_tree().create_timer(1).timeout for i in 6: |