From caa47ed90c3d9c87aa0fd24b9350e6a658e81743 Mon Sep 17 00:00:00 2001 From: ghostlyzsh Date: Sun, 7 Apr 2024 12:05:20 -0500 Subject: [PATCH] part of scaling done --- starkingdoms-client/src/globals.ts | 2 + starkingdoms-client/src/pages/Play.svelte | 16 +++++++- starkingdoms-client/src/rendering.ts | 49 ++++++++++++++--------- 3 files changed, 47 insertions(+), 20 deletions(-) diff --git a/starkingdoms-client/src/globals.ts b/starkingdoms-client/src/globals.ts index d700f2e5f6b5f25ad8f0428e3e30e60bfb7011bf..02a7ddbcc3297f94e4b2b6930f4d6616bfe1b89d 100644 --- a/starkingdoms-client/src/globals.ts +++ b/starkingdoms-client/src/globals.ts @@ -22,6 +22,7 @@ export interface GlobalData { saveEligible: boolean; leaving: boolean; + scale: number; } export interface GlobalRendering { @@ -59,6 +60,7 @@ export const global: GlobalData = { rendering: null, saveEligible: false, leaving: false, + scale: 1, }; export function player(): Part | undefined { diff --git a/starkingdoms-client/src/pages/Play.svelte b/starkingdoms-client/src/pages/Play.svelte index 61c92ebe50cc91821cd399b392069cb3227674e9..1e448b75481d68e23e75551010842dba4b17b591 100644 --- a/starkingdoms-client/src/pages/Play.svelte +++ b/starkingdoms-client/src/pages/Play.svelte @@ -38,6 +38,20 @@ logger("Antialiasing is now", antialiasing ? "on" : "off"); }*/ + function handlewheel(e: WheelEvent) { + let delta = e.shiftKey ? 0.01 : 0.1; + if (e.deltaY < 0) { + global.scale += delta; + } else { + global.scale -= delta; + } + if (global.scale > 5) { + global.scale = 5; + } else if (global.scale < 0.05) { + global.scale = 0.05; + } + } + function beam_out() { if (!global.saveEligible) { chatbox.addMessage( @@ -111,7 +125,7 @@ }); -
+
{ if (player() === undefined) { return; } + let width = window.innerWidth; + let height = window.innerHeight; global.rendering!.app.stage.x = - -player()?.transform.x! + window.innerWidth / 2; + -player()?.transform.x! * global.scale + width / 2; + global.rendering!.app.stage.y = + -player()?.transform.y! * global.scale + height / 2; + /*global.rendering!.app.stage.x = + -player()?.transform.x! + width / 2; global.rendering!.app.stage.y = - -player()?.transform.y! + window.innerHeight / 2; + -player()?.transform.y! + height / 2;*/ + global.rendering!.app.stage.scale.x = global.scale; + global.rendering!.app.stage.scale.y = global.scale; // TODO: refactor, make parallax configurable // Main starfield - global.rendering!.starfield.sprite.height = window.innerHeight + 384; - global.rendering!.starfield.sprite.width = window.innerWidth + 384; + global.rendering!.starfield.sprite.height = window.innerHeight + 384*global.scale; + global.rendering!.starfield.sprite.width = window.innerWidth + 384*global.scale; global.rendering!.starfield.off_x = ((player()?.transform.x! * 3) / 4) % 384; @@ -165,9 +174,9 @@ export function startRender() { username_text = new PIXI.Text(username); username_text.alpha = 0.6; username_text.style = new PIXI.TextStyle({ - fontFamily: 'sans-serif', - fontSize: 27, - fill: '#ffffff', + fontFamily: "sans-serif", + fontSize: 27, + fill: "#ffffff", }); global.rendering!.player_text_map.set(id, username_text); global.rendering!.app.stage.addChild(username_text); @@ -180,19 +189,21 @@ export function startRender() { } let username_text; if (global.rendering!.player_text_map.has(global.me!.part_id)) { - username_text = global.rendering!.player_text_map.get(global.me!.part_id)!; + username_text = global.rendering!.player_text_map.get( + global.me!.part_id, + )!; } else { - username_text = new PIXI.Text(global.me!.username); - username_text.alpha = 0.6; - username_text.style = new PIXI.TextStyle({ - fontFamily: 'sans-serif', - fontSize: 27, - fill: '#ffffff', - stroke: '#000000', - strokeThickness: 2, - }); - global.rendering!.player_text_map.set(global.me!.part_id, username_text); - global.rendering!.app.stage.addChild(username_text); + username_text = new PIXI.Text(global.me!.username); + username_text.alpha = 0.6; + username_text.style = new PIXI.TextStyle({ + fontFamily: "sans-serif", + fontSize: 27, + fill: "#ffffff", + stroke: "#000000", + strokeThickness: 2, + }); + global.rendering!.player_text_map.set(global.me!.part_id, username_text); + global.rendering!.app.stage.addChild(username_text); } let player_transform = global.parts_map.get(global.me!.part_id)!.transform; username_text.anchor.set(0.5);