~starkingdoms/starkingdoms

3d0d439b9ee36efed58d878f127df890bd8696ab — core 1 year, 8 months ago f3dc1b3 + 53cfa41
Merge branch 'bevy_rewrite' of gitlab.com:starkingdoms.tk/starkingdoms.tk into bevy_rewrite
M starkingdoms-client/src/globals.ts => starkingdoms-client/src/globals.ts +2 -0
@@ 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 {

M starkingdoms-client/src/pages/Play.svelte => starkingdoms-client/src/pages/Play.svelte +15 -1
@@ 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 @@
  });
</script>

<div class="game" id="gamewindow"></div>
<div class="game" id="gamewindow" on:wheel={handlewheel}></div>

<Popup
  draggable

M starkingdoms-client/src/rendering.ts => starkingdoms-client/src/rendering.ts +13 -4
@@ 55,21 55,30 @@ export function startRender() {
  // Near starfield
  global.rendering!.app.stage.addChild(global.rendering!.starfield_near.sprite);


  app.ticker.add(() => {
    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;