1-6 player splitscreen multiplayer addon
support window scaling (hope this works with 2d too)
bendn 2023-02-20
parent 9a254ac · commit 07db6e1
-rw-r--r--addons/splitter/package.json4
-rw-r--r--addons/splitter/screen.gd3
-rw-r--r--project.godot4
-rw-r--r--test.gd2
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"
diff --git a/test.gd b/test.gd
index a88a593..5efad0e 100644
--- a/test.gd
+++ b/test.gd
@@ -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: