~starkingdoms/starkingdoms

61bde6c6a816bdd3794bb419b7080289354f7f68 — ghostlyzsh 2 years ago 3e0807e
gravity is now affecting attached modules
78 files changed, 637 insertions(+), 24 deletions(-)

A assets/dist/spritesheet-125
A assets/dist/spritesheet-125.json
A assets/dist/spritesheet-125.png
A assets/dist/spritesheet-375
A assets/dist/spritesheet-375.json
A assets/dist/spritesheet-375.png
A assets/dist/spritesheet-full
A assets/dist/spritesheet-full.json
A assets/dist/spritesheet-full.png
A assets/final/125/autoplr_cfg.png
A assets/final/125/autoplr_error.png
A assets/final/125/autoplr_on.png
A assets/final/125/cargo_off.png
A assets/final/125/cargo_on.png
A assets/final/125/earth.png
A assets/final/125/ecothruster_on.png
A assets/final/125/hearty.png
A assets/final/125/hub_off.png
A assets/final/125/hub_on.png
A assets/final/125/landingleg.png
A assets/final/125/landingthruster_off.png
A assets/final/125/landingthruster_on.png
A assets/final/125/moon.png
A assets/final/125/powerhub_off.png
A assets/final/125/powerhub_on.png
A assets/final/125/starfield.png
A assets/final/125/superthruster_off.png
A assets/final/125/superthruster_on.png
A assets/final/125/thruster_off.png
A assets/final/125/thruster_on.png
A assets/final/375/autoplr_cfg.png
A assets/final/375/autoplr_error.png
A assets/final/375/autoplr_on.png
A assets/final/375/cargo_off.png
A assets/final/375/cargo_on.png
A assets/final/375/earth.png
A assets/final/375/ecothruster_on.png
A assets/final/375/hearty.png
A assets/final/375/hub_off.png
A assets/final/375/hub_on.png
A assets/final/375/landingleg.png
A assets/final/375/landingthruster_off.png
A assets/final/375/landingthruster_on.png
A assets/final/375/moon.png
A assets/final/375/powerhub_off.png
A assets/final/375/powerhub_on.png
A assets/final/375/starfield.png
A assets/final/375/superthruster_off.png
A assets/final/375/superthruster_on.png
A assets/final/375/thruster_off.png
A assets/final/375/thruster_on.png
A assets/final/full/autoplr_cfg.png
A assets/final/full/autoplr_error.png
A assets/final/full/autoplr_on.png
A assets/final/full/cargo_off.png
A assets/final/full/cargo_on.png
A assets/final/full/earth.png
A assets/final/full/ecothruster_on.png
A assets/final/full/hearty.png
A assets/final/full/hub_off.png
A assets/final/full/hub_on.png
A assets/final/full/landingleg.png
A assets/final/full/landingthruster_off.png
A assets/final/full/landingthruster_on.png
A assets/final/full/moon.png
A assets/final/full/powerhub_off.png
A assets/final/full/powerhub_on.png
A assets/final/full/starfield.png
A assets/final/full/superthruster_off.png
A assets/final/full/superthruster_on.png
A assets/final/full/thruster_off.png
A assets/final/full/thruster_on.png
M server/src/entity.rs
M server/src/handler.rs
M server/src/main.rs
M server/src/manager.rs
M server/src/planet.rs
M server/src/timer.rs
A assets/dist/spritesheet-125 => assets/dist/spritesheet-125 +0 -0
A assets/dist/spritesheet-125.json => assets/dist/spritesheet-125.json +201 -0
@@ 0,0 1,201 @@
{
  "frames": {
    "starfield.png": {
      "frame": { "x": 0, "y": 0, "w": 256, "h": 256 },
      "rotated": false,
      "trimmed": false,
      "spriteSourceSize": { "x": 0, "y": 0, "w": 256, "h": 256 },
      "sourceSize": { "w": 256, "h": 256 },
      "pivot": { "x": 128, "y": 128 },
      "9slicedFrame": { "x": 0, "y": 0, "w": 256, "h": 256 }
    },
    "earth.png": {
      "frame": { "x": 0, "y": 256, "w": 256, "h": 256 },
      "rotated": false,
      "trimmed": false,
      "spriteSourceSize": { "x": 0, "y": 0, "w": 256, "h": 256 },
      "sourceSize": { "w": 256, "h": 256 },
      "pivot": { "x": 128, "y": 128 },
      "9slicedFrame": { "x": 0, "y": 0, "w": 256, "h": 256 }
    },
    "moon.png": {
      "frame": { "x": 0, "y": 512, "w": 256, "h": 256 },
      "rotated": false,
      "trimmed": false,
      "spriteSourceSize": { "x": 0, "y": 0, "w": 256, "h": 256 },
      "sourceSize": { "w": 256, "h": 256 },
      "pivot": { "x": 128, "y": 128 },
      "9slicedFrame": { "x": 0, "y": 0, "w": 256, "h": 256 }
    },
    "autoplr_error.png": {
      "frame": { "x": 0, "y": 768, "w": 64, "h": 64 },
      "rotated": false,
      "trimmed": false,
      "spriteSourceSize": { "x": 0, "y": 0, "w": 64, "h": 64 },
      "sourceSize": { "w": 64, "h": 64 },
      "pivot": { "x": 32, "y": 32 },
      "9slicedFrame": { "x": 0, "y": 0, "w": 64, "h": 64 }
    },
    "autoplr_cfg.png": {
      "frame": { "x": 0, "y": 832, "w": 64, "h": 64 },
      "rotated": false,
      "trimmed": false,
      "spriteSourceSize": { "x": 0, "y": 0, "w": 64, "h": 64 },
      "sourceSize": { "w": 64, "h": 64 },
      "pivot": { "x": 32, "y": 32 },
      "9slicedFrame": { "x": 0, "y": 0, "w": 64, "h": 64 }
    },
    "hearty.png": {
      "frame": { "x": 0, "y": 896, "w": 64, "h": 64 },
      "rotated": false,
      "trimmed": false,
      "spriteSourceSize": { "x": 0, "y": 0, "w": 64, "h": 64 },
      "sourceSize": { "w": 64, "h": 64 },
      "pivot": { "x": 32, "y": 32 },
      "9slicedFrame": { "x": 0, "y": 0, "w": 64, "h": 64 }
    },
    "superthruster_on.png": {
      "frame": { "x": 0, "y": 960, "w": 64, "h": 64 },
      "rotated": false,
      "trimmed": false,
      "spriteSourceSize": { "x": 0, "y": 0, "w": 64, "h": 64 },
      "sourceSize": { "w": 64, "h": 64 },
      "pivot": { "x": 32, "y": 32 },
      "9slicedFrame": { "x": 0, "y": 0, "w": 64, "h": 64 }
    },
    "ecothruster_on.png": {
      "frame": { "x": 0, "y": 1024, "w": 64, "h": 64 },
      "rotated": false,
      "trimmed": false,
      "spriteSourceSize": { "x": 0, "y": 0, "w": 64, "h": 64 },
      "sourceSize": { "w": 64, "h": 64 },
      "pivot": { "x": 32, "y": 32 },
      "9slicedFrame": { "x": 0, "y": 0, "w": 64, "h": 64 }
    },
    "landingthruster_on.png": {
      "frame": { "x": 0, "y": 1088, "w": 64, "h": 64 },
      "rotated": false,
      "trimmed": false,
      "spriteSourceSize": { "x": 0, "y": 0, "w": 64, "h": 64 },
      "sourceSize": { "w": 64, "h": 64 },
      "pivot": { "x": 32, "y": 32 },
      "9slicedFrame": { "x": 0, "y": 0, "w": 64, "h": 64 }
    },
    "thruster_on.png": {
      "frame": { "x": 0, "y": 1152, "w": 64, "h": 64 },
      "rotated": false,
      "trimmed": false,
      "spriteSourceSize": { "x": 0, "y": 0, "w": 64, "h": 64 },
      "sourceSize": { "w": 64, "h": 64 },
      "pivot": { "x": 32, "y": 32 },
      "9slicedFrame": { "x": 0, "y": 0, "w": 64, "h": 64 }
    },
    "landingleg.png": {
      "frame": { "x": 0, "y": 1216, "w": 64, "h": 64 },
      "rotated": false,
      "trimmed": false,
      "spriteSourceSize": { "x": 0, "y": 0, "w": 64, "h": 64 },
      "sourceSize": { "w": 64, "h": 64 },
      "pivot": { "x": 32, "y": 32 },
      "9slicedFrame": { "x": 0, "y": 0, "w": 64, "h": 64 }
    },
    "autoplr_on.png": {
      "frame": { "x": 0, "y": 1280, "w": 64, "h": 64 },
      "rotated": false,
      "trimmed": false,
      "spriteSourceSize": { "x": 0, "y": 0, "w": 64, "h": 64 },
      "sourceSize": { "w": 64, "h": 64 },
      "pivot": { "x": 32, "y": 32 },
      "9slicedFrame": { "x": 0, "y": 0, "w": 64, "h": 64 }
    },
    "hub_on.png": {
      "frame": { "x": 0, "y": 1344, "w": 64, "h": 64 },
      "rotated": false,
      "trimmed": false,
      "spriteSourceSize": { "x": 0, "y": 0, "w": 64, "h": 64 },
      "sourceSize": { "w": 64, "h": 64 },
      "pivot": { "x": 32, "y": 32 },
      "9slicedFrame": { "x": 0, "y": 0, "w": 64, "h": 64 }
    },
    "powerhub_on.png": {
      "frame": { "x": 0, "y": 1408, "w": 64, "h": 64 },
      "rotated": false,
      "trimmed": false,
      "spriteSourceSize": { "x": 0, "y": 0, "w": 64, "h": 64 },
      "sourceSize": { "w": 64, "h": 64 },
      "pivot": { "x": 32, "y": 32 },
      "9slicedFrame": { "x": 0, "y": 0, "w": 64, "h": 64 }
    },
    "superthruster_off.png": {
      "frame": { "x": 0, "y": 1472, "w": 64, "h": 64 },
      "rotated": false,
      "trimmed": false,
      "spriteSourceSize": { "x": 0, "y": 0, "w": 64, "h": 64 },
      "sourceSize": { "w": 64, "h": 64 },
      "pivot": { "x": 32, "y": 32 },
      "9slicedFrame": { "x": 0, "y": 0, "w": 64, "h": 64 }
    },
    "landingthruster_off.png": {
      "frame": { "x": 0, "y": 1536, "w": 64, "h": 64 },
      "rotated": false,
      "trimmed": false,
      "spriteSourceSize": { "x": 0, "y": 0, "w": 64, "h": 64 },
      "sourceSize": { "w": 64, "h": 64 },
      "pivot": { "x": 32, "y": 32 },
      "9slicedFrame": { "x": 0, "y": 0, "w": 64, "h": 64 }
    },
    "thruster_off.png": {
      "frame": { "x": 0, "y": 1600, "w": 64, "h": 64 },
      "rotated": false,
      "trimmed": false,
      "spriteSourceSize": { "x": 0, "y": 0, "w": 64, "h": 64 },
      "sourceSize": { "w": 64, "h": 64 },
      "pivot": { "x": 32, "y": 32 },
      "9slicedFrame": { "x": 0, "y": 0, "w": 64, "h": 64 }
    },
    "cargo_on.png": {
      "frame": { "x": 0, "y": 1664, "w": 64, "h": 64 },
      "rotated": false,
      "trimmed": false,
      "spriteSourceSize": { "x": 0, "y": 0, "w": 64, "h": 64 },
      "sourceSize": { "w": 64, "h": 64 },
      "pivot": { "x": 32, "y": 32 },
      "9slicedFrame": { "x": 0, "y": 0, "w": 64, "h": 64 }
    },
    "cargo_off.png": {
      "frame": { "x": 0, "y": 1728, "w": 64, "h": 64 },
      "rotated": false,
      "trimmed": false,
      "spriteSourceSize": { "x": 0, "y": 0, "w": 64, "h": 64 },
      "sourceSize": { "w": 64, "h": 64 },
      "pivot": { "x": 32, "y": 32 },
      "9slicedFrame": { "x": 0, "y": 0, "w": 64, "h": 64 }
    },
    "powerhub_off.png": {
      "frame": { "x": 0, "y": 1792, "w": 64, "h": 64 },
      "rotated": false,
      "trimmed": false,
      "spriteSourceSize": { "x": 0, "y": 0, "w": 64, "h": 64 },
      "sourceSize": { "w": 64, "h": 64 },
      "pivot": { "x": 32, "y": 32 },
      "9slicedFrame": { "x": 0, "y": 0, "w": 64, "h": 64 }
    },
    "hub_off.png": {
      "frame": { "x": 0, "y": 1856, "w": 64, "h": 64 },
      "rotated": false,
      "trimmed": false,
      "spriteSourceSize": { "x": 0, "y": 0, "w": 64, "h": 64 },
      "sourceSize": { "w": 64, "h": 64 },
      "pivot": { "x": 32, "y": 32 },
      "9slicedFrame": { "x": 0, "y": 0, "w": 64, "h": 64 }
    }
  },
  "meta": {
    "app": "atlasify https://github.com/soimy/atlasify#readme",
    "version": "0.4.1",
    "image": "spritesheet-125.png",
    "format": "RGBA8888",
    "size": { "w": 8096, "h": 8096 },
    "scale": 1
  }
}
\ No newline at end of file

A assets/dist/spritesheet-125.png => assets/dist/spritesheet-125.png +0 -0
A assets/dist/spritesheet-375 => assets/dist/spritesheet-375 +0 -0
A assets/dist/spritesheet-375.json => assets/dist/spritesheet-375.json +201 -0
@@ 0,0 1,201 @@
{
  "frames": {
    "starfield.png": {
      "frame": { "x": 0, "y": 0, "w": 768, "h": 768 },
      "rotated": false,
      "trimmed": false,
      "spriteSourceSize": { "x": 0, "y": 0, "w": 768, "h": 768 },
      "sourceSize": { "w": 768, "h": 768 },
      "pivot": { "x": 384, "y": 384 },
      "9slicedFrame": { "x": 0, "y": 0, "w": 768, "h": 768 }
    },
    "earth.png": {
      "frame": { "x": 0, "y": 768, "w": 768, "h": 768 },
      "rotated": false,
      "trimmed": false,
      "spriteSourceSize": { "x": 0, "y": 0, "w": 768, "h": 768 },
      "sourceSize": { "w": 768, "h": 768 },
      "pivot": { "x": 384, "y": 384 },
      "9slicedFrame": { "x": 0, "y": 0, "w": 768, "h": 768 }
    },
    "moon.png": {
      "frame": { "x": 0, "y": 1536, "w": 768, "h": 768 },
      "rotated": false,
      "trimmed": false,
      "spriteSourceSize": { "x": 0, "y": 0, "w": 768, "h": 768 },
      "sourceSize": { "w": 768, "h": 768 },
      "pivot": { "x": 384, "y": 384 },
      "9slicedFrame": { "x": 0, "y": 0, "w": 768, "h": 768 }
    },
    "autoplr_error.png": {
      "frame": { "x": 0, "y": 2304, "w": 192, "h": 192 },
      "rotated": false,
      "trimmed": false,
      "spriteSourceSize": { "x": 0, "y": 0, "w": 192, "h": 192 },
      "sourceSize": { "w": 192, "h": 192 },
      "pivot": { "x": 96, "y": 96 },
      "9slicedFrame": { "x": 0, "y": 0, "w": 192, "h": 192 }
    },
    "autoplr_cfg.png": {
      "frame": { "x": 0, "y": 2496, "w": 192, "h": 192 },
      "rotated": false,
      "trimmed": false,
      "spriteSourceSize": { "x": 0, "y": 0, "w": 192, "h": 192 },
      "sourceSize": { "w": 192, "h": 192 },
      "pivot": { "x": 96, "y": 96 },
      "9slicedFrame": { "x": 0, "y": 0, "w": 192, "h": 192 }
    },
    "hearty.png": {
      "frame": { "x": 0, "y": 2688, "w": 192, "h": 192 },
      "rotated": false,
      "trimmed": false,
      "spriteSourceSize": { "x": 0, "y": 0, "w": 192, "h": 192 },
      "sourceSize": { "w": 192, "h": 192 },
      "pivot": { "x": 96, "y": 96 },
      "9slicedFrame": { "x": 0, "y": 0, "w": 192, "h": 192 }
    },
    "superthruster_on.png": {
      "frame": { "x": 0, "y": 2880, "w": 192, "h": 192 },
      "rotated": false,
      "trimmed": false,
      "spriteSourceSize": { "x": 0, "y": 0, "w": 192, "h": 192 },
      "sourceSize": { "w": 192, "h": 192 },
      "pivot": { "x": 96, "y": 96 },
      "9slicedFrame": { "x": 0, "y": 0, "w": 192, "h": 192 }
    },
    "ecothruster_on.png": {
      "frame": { "x": 0, "y": 3072, "w": 192, "h": 192 },
      "rotated": false,
      "trimmed": false,
      "spriteSourceSize": { "x": 0, "y": 0, "w": 192, "h": 192 },
      "sourceSize": { "w": 192, "h": 192 },
      "pivot": { "x": 96, "y": 96 },
      "9slicedFrame": { "x": 0, "y": 0, "w": 192, "h": 192 }
    },
    "landingthruster_on.png": {
      "frame": { "x": 0, "y": 3264, "w": 192, "h": 192 },
      "rotated": false,
      "trimmed": false,
      "spriteSourceSize": { "x": 0, "y": 0, "w": 192, "h": 192 },
      "sourceSize": { "w": 192, "h": 192 },
      "pivot": { "x": 96, "y": 96 },
      "9slicedFrame": { "x": 0, "y": 0, "w": 192, "h": 192 }
    },
    "thruster_on.png": {
      "frame": { "x": 0, "y": 3456, "w": 192, "h": 192 },
      "rotated": false,
      "trimmed": false,
      "spriteSourceSize": { "x": 0, "y": 0, "w": 192, "h": 192 },
      "sourceSize": { "w": 192, "h": 192 },
      "pivot": { "x": 96, "y": 96 },
      "9slicedFrame": { "x": 0, "y": 0, "w": 192, "h": 192 }
    },
    "landingleg.png": {
      "frame": { "x": 0, "y": 3648, "w": 192, "h": 192 },
      "rotated": false,
      "trimmed": false,
      "spriteSourceSize": { "x": 0, "y": 0, "w": 192, "h": 192 },
      "sourceSize": { "w": 192, "h": 192 },
      "pivot": { "x": 96, "y": 96 },
      "9slicedFrame": { "x": 0, "y": 0, "w": 192, "h": 192 }
    },
    "autoplr_on.png": {
      "frame": { "x": 0, "y": 3840, "w": 192, "h": 192 },
      "rotated": false,
      "trimmed": false,
      "spriteSourceSize": { "x": 0, "y": 0, "w": 192, "h": 192 },
      "sourceSize": { "w": 192, "h": 192 },
      "pivot": { "x": 96, "y": 96 },
      "9slicedFrame": { "x": 0, "y": 0, "w": 192, "h": 192 }
    },
    "hub_on.png": {
      "frame": { "x": 0, "y": 4032, "w": 192, "h": 192 },
      "rotated": false,
      "trimmed": false,
      "spriteSourceSize": { "x": 0, "y": 0, "w": 192, "h": 192 },
      "sourceSize": { "w": 192, "h": 192 },
      "pivot": { "x": 96, "y": 96 },
      "9slicedFrame": { "x": 0, "y": 0, "w": 192, "h": 192 }
    },
    "powerhub_on.png": {
      "frame": { "x": 0, "y": 4224, "w": 192, "h": 192 },
      "rotated": false,
      "trimmed": false,
      "spriteSourceSize": { "x": 0, "y": 0, "w": 192, "h": 192 },
      "sourceSize": { "w": 192, "h": 192 },
      "pivot": { "x": 96, "y": 96 },
      "9slicedFrame": { "x": 0, "y": 0, "w": 192, "h": 192 }
    },
    "landingthruster_off.png": {
      "frame": { "x": 0, "y": 4416, "w": 192, "h": 192 },
      "rotated": false,
      "trimmed": false,
      "spriteSourceSize": { "x": 0, "y": 0, "w": 192, "h": 192 },
      "sourceSize": { "w": 192, "h": 192 },
      "pivot": { "x": 96, "y": 96 },
      "9slicedFrame": { "x": 0, "y": 0, "w": 192, "h": 192 }
    },
    "superthruster_off.png": {
      "frame": { "x": 0, "y": 4608, "w": 192, "h": 192 },
      "rotated": false,
      "trimmed": false,
      "spriteSourceSize": { "x": 0, "y": 0, "w": 192, "h": 192 },
      "sourceSize": { "w": 192, "h": 192 },
      "pivot": { "x": 96, "y": 96 },
      "9slicedFrame": { "x": 0, "y": 0, "w": 192, "h": 192 }
    },
    "thruster_off.png": {
      "frame": { "x": 0, "y": 4800, "w": 192, "h": 192 },
      "rotated": false,
      "trimmed": false,
      "spriteSourceSize": { "x": 0, "y": 0, "w": 192, "h": 192 },
      "sourceSize": { "w": 192, "h": 192 },
      "pivot": { "x": 96, "y": 96 },
      "9slicedFrame": { "x": 0, "y": 0, "w": 192, "h": 192 }
    },
    "cargo_on.png": {
      "frame": { "x": 0, "y": 4992, "w": 192, "h": 192 },
      "rotated": false,
      "trimmed": false,
      "spriteSourceSize": { "x": 0, "y": 0, "w": 192, "h": 192 },
      "sourceSize": { "w": 192, "h": 192 },
      "pivot": { "x": 96, "y": 96 },
      "9slicedFrame": { "x": 0, "y": 0, "w": 192, "h": 192 }
    },
    "cargo_off.png": {
      "frame": { "x": 0, "y": 5184, "w": 192, "h": 192 },
      "rotated": false,
      "trimmed": false,
      "spriteSourceSize": { "x": 0, "y": 0, "w": 192, "h": 192 },
      "sourceSize": { "w": 192, "h": 192 },
      "pivot": { "x": 96, "y": 96 },
      "9slicedFrame": { "x": 0, "y": 0, "w": 192, "h": 192 }
    },
    "powerhub_off.png": {
      "frame": { "x": 0, "y": 5376, "w": 192, "h": 192 },
      "rotated": false,
      "trimmed": false,
      "spriteSourceSize": { "x": 0, "y": 0, "w": 192, "h": 192 },
      "sourceSize": { "w": 192, "h": 192 },
      "pivot": { "x": 96, "y": 96 },
      "9slicedFrame": { "x": 0, "y": 0, "w": 192, "h": 192 }
    },
    "hub_off.png": {
      "frame": { "x": 0, "y": 5568, "w": 192, "h": 192 },
      "rotated": false,
      "trimmed": false,
      "spriteSourceSize": { "x": 0, "y": 0, "w": 192, "h": 192 },
      "sourceSize": { "w": 192, "h": 192 },
      "pivot": { "x": 96, "y": 96 },
      "9slicedFrame": { "x": 0, "y": 0, "w": 192, "h": 192 }
    }
  },
  "meta": {
    "app": "atlasify https://github.com/soimy/atlasify#readme",
    "version": "0.4.1",
    "image": "spritesheet-375.png",
    "format": "RGBA8888",
    "size": { "w": 8096, "h": 8096 },
    "scale": 1
  }
}
\ No newline at end of file

A assets/dist/spritesheet-375.png => assets/dist/spritesheet-375.png +0 -0
A assets/dist/spritesheet-full => assets/dist/spritesheet-full +0 -0
A assets/dist/spritesheet-full.json => assets/dist/spritesheet-full.json +201 -0
@@ 0,0 1,201 @@
{
  "frames": {
    "starfield.png": {
      "frame": { "x": 0, "y": 0, "w": 2048, "h": 2048 },
      "rotated": false,
      "trimmed": false,
      "spriteSourceSize": { "x": 0, "y": 0, "w": 2048, "h": 2048 },
      "sourceSize": { "w": 2048, "h": 2048 },
      "pivot": { "x": 1024, "y": 1024 },
      "9slicedFrame": { "x": 0, "y": 0, "w": 2048, "h": 2048 }
    },
    "earth.png": {
      "frame": { "x": 0, "y": 2048, "w": 2048, "h": 2048 },
      "rotated": false,
      "trimmed": false,
      "spriteSourceSize": { "x": 0, "y": 0, "w": 2048, "h": 2048 },
      "sourceSize": { "w": 2048, "h": 2048 },
      "pivot": { "x": 1024, "y": 1024 },
      "9slicedFrame": { "x": 0, "y": 0, "w": 2048, "h": 2048 }
    },
    "moon.png": {
      "frame": { "x": 0, "y": 4096, "w": 2048, "h": 2048 },
      "rotated": false,
      "trimmed": false,
      "spriteSourceSize": { "x": 0, "y": 0, "w": 2048, "h": 2048 },
      "sourceSize": { "w": 2048, "h": 2048 },
      "pivot": { "x": 1024, "y": 1024 },
      "9slicedFrame": { "x": 0, "y": 0, "w": 2048, "h": 2048 }
    },
    "autoplr_error.png": {
      "frame": { "x": 0, "y": 6144, "w": 512, "h": 512 },
      "rotated": false,
      "trimmed": false,
      "spriteSourceSize": { "x": 0, "y": 0, "w": 512, "h": 512 },
      "sourceSize": { "w": 512, "h": 512 },
      "pivot": { "x": 256, "y": 256 },
      "9slicedFrame": { "x": 0, "y": 0, "w": 512, "h": 512 }
    },
    "autoplr_cfg.png": {
      "frame": { "x": 0, "y": 6656, "w": 512, "h": 512 },
      "rotated": false,
      "trimmed": false,
      "spriteSourceSize": { "x": 0, "y": 0, "w": 512, "h": 512 },
      "sourceSize": { "w": 512, "h": 512 },
      "pivot": { "x": 256, "y": 256 },
      "9slicedFrame": { "x": 0, "y": 0, "w": 512, "h": 512 }
    },
    "hearty.png": {
      "frame": { "x": 0, "y": 7168, "w": 512, "h": 512 },
      "rotated": false,
      "trimmed": false,
      "spriteSourceSize": { "x": 0, "y": 0, "w": 512, "h": 512 },
      "sourceSize": { "w": 512, "h": 512 },
      "pivot": { "x": 256, "y": 256 },
      "9slicedFrame": { "x": 0, "y": 0, "w": 512, "h": 512 }
    },
    "superthruster_on.png": {
      "frame": { "x": 512, "y": 6144, "w": 512, "h": 512 },
      "rotated": false,
      "trimmed": false,
      "spriteSourceSize": { "x": 0, "y": 0, "w": 512, "h": 512 },
      "sourceSize": { "w": 512, "h": 512 },
      "pivot": { "x": 256, "y": 256 },
      "9slicedFrame": { "x": 0, "y": 0, "w": 512, "h": 512 }
    },
    "ecothruster_on.png": {
      "frame": { "x": 512, "y": 6656, "w": 512, "h": 512 },
      "rotated": false,
      "trimmed": false,
      "spriteSourceSize": { "x": 0, "y": 0, "w": 512, "h": 512 },
      "sourceSize": { "w": 512, "h": 512 },
      "pivot": { "x": 256, "y": 256 },
      "9slicedFrame": { "x": 0, "y": 0, "w": 512, "h": 512 }
    },
    "landingthruster_on.png": {
      "frame": { "x": 512, "y": 7168, "w": 512, "h": 512 },
      "rotated": false,
      "trimmed": false,
      "spriteSourceSize": { "x": 0, "y": 0, "w": 512, "h": 512 },
      "sourceSize": { "w": 512, "h": 512 },
      "pivot": { "x": 256, "y": 256 },
      "9slicedFrame": { "x": 0, "y": 0, "w": 512, "h": 512 }
    },
    "thruster_on.png": {
      "frame": { "x": 1024, "y": 6144, "w": 512, "h": 512 },
      "rotated": false,
      "trimmed": false,
      "spriteSourceSize": { "x": 0, "y": 0, "w": 512, "h": 512 },
      "sourceSize": { "w": 512, "h": 512 },
      "pivot": { "x": 256, "y": 256 },
      "9slicedFrame": { "x": 0, "y": 0, "w": 512, "h": 512 }
    },
    "landingleg.png": {
      "frame": { "x": 1024, "y": 6656, "w": 512, "h": 512 },
      "rotated": false,
      "trimmed": false,
      "spriteSourceSize": { "x": 0, "y": 0, "w": 512, "h": 512 },
      "sourceSize": { "w": 512, "h": 512 },
      "pivot": { "x": 256, "y": 256 },
      "9slicedFrame": { "x": 0, "y": 0, "w": 512, "h": 512 }
    },
    "autoplr_on.png": {
      "frame": { "x": 1024, "y": 7168, "w": 512, "h": 512 },
      "rotated": false,
      "trimmed": false,
      "spriteSourceSize": { "x": 0, "y": 0, "w": 512, "h": 512 },
      "sourceSize": { "w": 512, "h": 512 },
      "pivot": { "x": 256, "y": 256 },
      "9slicedFrame": { "x": 0, "y": 0, "w": 512, "h": 512 }
    },
    "hub_on.png": {
      "frame": { "x": 1536, "y": 6144, "w": 512, "h": 512 },
      "rotated": false,
      "trimmed": false,
      "spriteSourceSize": { "x": 0, "y": 0, "w": 512, "h": 512 },
      "sourceSize": { "w": 512, "h": 512 },
      "pivot": { "x": 256, "y": 256 },
      "9slicedFrame": { "x": 0, "y": 0, "w": 512, "h": 512 }
    },
    "powerhub_on.png": {
      "frame": { "x": 1536, "y": 6656, "w": 512, "h": 512 },
      "rotated": false,
      "trimmed": false,
      "spriteSourceSize": { "x": 0, "y": 0, "w": 512, "h": 512 },
      "sourceSize": { "w": 512, "h": 512 },
      "pivot": { "x": 256, "y": 256 },
      "9slicedFrame": { "x": 0, "y": 0, "w": 512, "h": 512 }
    },
    "superthruster_off.png": {
      "frame": { "x": 1536, "y": 7168, "w": 512, "h": 512 },
      "rotated": false,
      "trimmed": false,
      "spriteSourceSize": { "x": 0, "y": 0, "w": 512, "h": 512 },
      "sourceSize": { "w": 512, "h": 512 },
      "pivot": { "x": 256, "y": 256 },
      "9slicedFrame": { "x": 0, "y": 0, "w": 512, "h": 512 }
    },
    "landingthruster_off.png": {
      "frame": { "x": 2048, "y": 0, "w": 512, "h": 512 },
      "rotated": false,
      "trimmed": false,
      "spriteSourceSize": { "x": 0, "y": 0, "w": 512, "h": 512 },
      "sourceSize": { "w": 512, "h": 512 },
      "pivot": { "x": 256, "y": 256 },
      "9slicedFrame": { "x": 0, "y": 0, "w": 512, "h": 512 }
    },
    "thruster_off.png": {
      "frame": { "x": 2560, "y": 0, "w": 512, "h": 512 },
      "rotated": false,
      "trimmed": false,
      "spriteSourceSize": { "x": 0, "y": 0, "w": 512, "h": 512 },
      "sourceSize": { "w": 512, "h": 512 },
      "pivot": { "x": 256, "y": 256 },
      "9slicedFrame": { "x": 0, "y": 0, "w": 512, "h": 512 }
    },
    "cargo_on.png": {
      "frame": { "x": 3072, "y": 0, "w": 512, "h": 512 },
      "rotated": false,
      "trimmed": false,
      "spriteSourceSize": { "x": 0, "y": 0, "w": 512, "h": 512 },
      "sourceSize": { "w": 512, "h": 512 },
      "pivot": { "x": 256, "y": 256 },
      "9slicedFrame": { "x": 0, "y": 0, "w": 512, "h": 512 }
    },
    "cargo_off.png": {
      "frame": { "x": 3584, "y": 0, "w": 512, "h": 512 },
      "rotated": false,
      "trimmed": false,
      "spriteSourceSize": { "x": 0, "y": 0, "w": 512, "h": 512 },
      "sourceSize": { "w": 512, "h": 512 },
      "pivot": { "x": 256, "y": 256 },
      "9slicedFrame": { "x": 0, "y": 0, "w": 512, "h": 512 }
    },
    "powerhub_off.png": {
      "frame": { "x": 4096, "y": 0, "w": 512, "h": 512 },
      "rotated": false,
      "trimmed": false,
      "spriteSourceSize": { "x": 0, "y": 0, "w": 512, "h": 512 },
      "sourceSize": { "w": 512, "h": 512 },
      "pivot": { "x": 256, "y": 256 },
      "9slicedFrame": { "x": 0, "y": 0, "w": 512, "h": 512 }
    },
    "hub_off.png": {
      "frame": { "x": 4608, "y": 0, "w": 512, "h": 512 },
      "rotated": false,
      "trimmed": false,
      "spriteSourceSize": { "x": 0, "y": 0, "w": 512, "h": 512 },
      "sourceSize": { "w": 512, "h": 512 },
      "pivot": { "x": 256, "y": 256 },
      "9slicedFrame": { "x": 0, "y": 0, "w": 512, "h": 512 }
    }
  },
  "meta": {
    "app": "atlasify https://github.com/soimy/atlasify#readme",
    "version": "0.4.1",
    "image": "spritesheet-full.png",
    "format": "RGBA8888",
    "size": { "w": 8096, "h": 8096 },
    "scale": 1
  }
}
\ No newline at end of file

A assets/dist/spritesheet-full.png => assets/dist/spritesheet-full.png +0 -0
A assets/final/125/autoplr_cfg.png => assets/final/125/autoplr_cfg.png +0 -0
A assets/final/125/autoplr_error.png => assets/final/125/autoplr_error.png +0 -0
A assets/final/125/autoplr_on.png => assets/final/125/autoplr_on.png +0 -0
A assets/final/125/cargo_off.png => assets/final/125/cargo_off.png +0 -0
A assets/final/125/cargo_on.png => assets/final/125/cargo_on.png +0 -0
A assets/final/125/earth.png => assets/final/125/earth.png +0 -0
A assets/final/125/ecothruster_on.png => assets/final/125/ecothruster_on.png +0 -0
A assets/final/125/hearty.png => assets/final/125/hearty.png +0 -0
A assets/final/125/hub_off.png => assets/final/125/hub_off.png +0 -0
A assets/final/125/hub_on.png => assets/final/125/hub_on.png +0 -0
A assets/final/125/landingleg.png => assets/final/125/landingleg.png +0 -0
A assets/final/125/landingthruster_off.png => assets/final/125/landingthruster_off.png +0 -0
A assets/final/125/landingthruster_on.png => assets/final/125/landingthruster_on.png +0 -0
A assets/final/125/moon.png => assets/final/125/moon.png +0 -0
A assets/final/125/powerhub_off.png => assets/final/125/powerhub_off.png +0 -0
A assets/final/125/powerhub_on.png => assets/final/125/powerhub_on.png +0 -0
A assets/final/125/starfield.png => assets/final/125/starfield.png +0 -0
A assets/final/125/superthruster_off.png => assets/final/125/superthruster_off.png +0 -0
A assets/final/125/superthruster_on.png => assets/final/125/superthruster_on.png +0 -0
A assets/final/125/thruster_off.png => assets/final/125/thruster_off.png +0 -0
A assets/final/125/thruster_on.png => assets/final/125/thruster_on.png +0 -0
A assets/final/375/autoplr_cfg.png => assets/final/375/autoplr_cfg.png +0 -0
A assets/final/375/autoplr_error.png => assets/final/375/autoplr_error.png +0 -0
A assets/final/375/autoplr_on.png => assets/final/375/autoplr_on.png +0 -0
A assets/final/375/cargo_off.png => assets/final/375/cargo_off.png +0 -0
A assets/final/375/cargo_on.png => assets/final/375/cargo_on.png +0 -0
A assets/final/375/earth.png => assets/final/375/earth.png +0 -0
A assets/final/375/ecothruster_on.png => assets/final/375/ecothruster_on.png +0 -0
A assets/final/375/hearty.png => assets/final/375/hearty.png +0 -0
A assets/final/375/hub_off.png => assets/final/375/hub_off.png +0 -0
A assets/final/375/hub_on.png => assets/final/375/hub_on.png +0 -0
A assets/final/375/landingleg.png => assets/final/375/landingleg.png +0 -0
A assets/final/375/landingthruster_off.png => assets/final/375/landingthruster_off.png +0 -0
A assets/final/375/landingthruster_on.png => assets/final/375/landingthruster_on.png +0 -0
A assets/final/375/moon.png => assets/final/375/moon.png +0 -0
A assets/final/375/powerhub_off.png => assets/final/375/powerhub_off.png +0 -0
A assets/final/375/powerhub_on.png => assets/final/375/powerhub_on.png +0 -0
A assets/final/375/starfield.png => assets/final/375/starfield.png +0 -0
A assets/final/375/superthruster_off.png => assets/final/375/superthruster_off.png +0 -0
A assets/final/375/superthruster_on.png => assets/final/375/superthruster_on.png +0 -0
A assets/final/375/thruster_off.png => assets/final/375/thruster_off.png +0 -0
A assets/final/375/thruster_on.png => assets/final/375/thruster_on.png +0 -0
A assets/final/full/autoplr_cfg.png => assets/final/full/autoplr_cfg.png +0 -0
A assets/final/full/autoplr_error.png => assets/final/full/autoplr_error.png +0 -0
A assets/final/full/autoplr_on.png => assets/final/full/autoplr_on.png +0 -0
A assets/final/full/cargo_off.png => assets/final/full/cargo_off.png +0 -0
A assets/final/full/cargo_on.png => assets/final/full/cargo_on.png +0 -0
A assets/final/full/earth.png => assets/final/full/earth.png +0 -0
A assets/final/full/ecothruster_on.png => assets/final/full/ecothruster_on.png +0 -0
A assets/final/full/hearty.png => assets/final/full/hearty.png +0 -0
A assets/final/full/hub_off.png => assets/final/full/hub_off.png +0 -0
A assets/final/full/hub_on.png => assets/final/full/hub_on.png +0 -0
A assets/final/full/landingleg.png => assets/final/full/landingleg.png +0 -0
A assets/final/full/landingthruster_off.png => assets/final/full/landingthruster_off.png +0 -0
A assets/final/full/landingthruster_on.png => assets/final/full/landingthruster_on.png +0 -0
A assets/final/full/moon.png => assets/final/full/moon.png +0 -0
A assets/final/full/powerhub_off.png => assets/final/full/powerhub_off.png +0 -0
A assets/final/full/powerhub_on.png => assets/final/full/powerhub_on.png +0 -0
A assets/final/full/starfield.png => assets/final/full/starfield.png +0 -0
A assets/final/full/superthruster_off.png => assets/final/full/superthruster_off.png +0 -0
A assets/final/full/superthruster_on.png => assets/final/full/superthruster_on.png +0 -0
A assets/final/full/thruster_off.png => assets/final/full/thruster_off.png +0 -0
A assets/final/full/thruster_on.png => assets/final/full/thruster_on.png +0 -0
M server/src/entity.rs => server/src/entity.rs +1 -1
@@ 161,7 161,7 @@ impl EntityHandler {
                planet_type: planet.planet_type.into(),
                x: planet.position.0 * SCALE,
                y: planet.position.1 * SCALE,
                radius: planet.radius, // DO NOT * SCALE. THIS VALUE IS NOT SCALED!
                radius: planet.radius * SCALE, // DO NOT * SCALE. THIS VALUE IS NOT SCALED! YES IT IS
                special_fields: Default::default(),
            });
        }

M server/src/handler.rs => server/src/handler.rs +4 -4
@@ 208,8 208,8 @@ pub async fn handle_client(
                                    ColliderBuilder::cuboid(25.0 / SCALE, 25.0 / SCALE)
                                        .mass_properties(MassProperties::new(
                                            point![0.0, 0.0],
                                            120.0,
                                            122500.0,
                                            0.0001,
                                            0.005,
                                        ))
                                        .build();
                                let player_handle = rigid_body_set.insert(player_body);


@@ 284,8 284,8 @@ pub async fn handle_client(
                                        translation: vector![0.0, 50.0],
                                        mass_properties: MassProperties::new(
                                            point![0.0, 0.0],
                                            120.0,
                                            122500.0,
                                            0.0001,
                                            0.005,
                                        ),
                                        module_type: ModuleType::Cargo,
                                    },

M server/src/main.rs => server/src/main.rs +1 -1
@@ 31,7 31,7 @@ pub mod entity;
pub mod orbit;
pub mod planet;

const SCALE: f64 = 1.0;
const SCALE: f64 = 10.0;

async fn handle_request(
    conn: TcpStream,

M server/src/manager.rs => server/src/manager.rs +1 -1
@@ 230,7 230,7 @@ impl AttachedModule {
            .build();
        let module_body = RigidBodyBuilder::dynamic()
            .translation(module_pos)
            .rotation(parent_body.rotation().angle() + rotation)
            .rotation(parent_body.rotation().angle() - rotation)
            .build();
        debug!("angle: {}", module_body.rotation().angle());
        let attached_handle = data.rigid_body_set.insert(module_body);

M server/src/planet.rs => server/src/planet.rs +5 -5
@@ 1,3 1,4 @@
use log::debug;
use nalgebra::{vector, Vector2};
use rapier2d_f64::prelude::{
    ColliderBuilder, ColliderSet, RigidBodyBuilder, RigidBodyHandle, RigidBodySet,


@@ 12,8 13,7 @@ use crate::orbit::constants::{
use crate::orbit::orbit::{calculate_point_on_orbit, calculate_world_position_of_orbit};
use crate::{manager::ClientHandlerMessage, SCALE};

//const GRAVITY: f64 = 0.001;
pub const GRAVITY: f64 = 12.6674;
pub const GRAVITY: f64 = 0.02;

#[derive(Clone)]
pub struct Planet {


@@ 75,8 75,8 @@ impl Planets {
            Entity::Planet(Planet {
                planet_type,
                body_handle,
                position,
                radius,
                position: (position.0 / SCALE, position.1 / SCALE),
                radius: radius / SCALE,
                mass,
            }),
        )


@@ 135,7 135,7 @@ impl Planets {
                planet_type: planet.planet_type.into(),
                x: planet.position.0 * SCALE,
                y: planet.position.1 * SCALE,
                radius: planet.radius, // DO NOT * SCALE - THIS VALUE IS NOT SCALED!
                radius: planet.radius * SCALE, // DO NOT * SCALE - THIS VALUE IS NOT SCALED! YES IT IS
                special_fields: Default::default(),
            });
        }

M server/src/timer.rs => server/src/timer.rs +22 -12
@@ 20,8 20,7 @@ use rapier2d_f64::prelude::{
use starkingdoms_protocol::{module::ModuleType, planet::PlanetType, player::Player};
use std::{f64::consts::PI, sync::Arc, time::Duration};

pub const ROTATIONAL_FORCE: f64 = 100.0;
pub const LATERAL_FORCE: f64 = 100.0;
pub const LATERAL_FORCE: f64 = 0.0002;
pub const MODULE_SPAWN: f64 = 3.0;
pub const MODULE_MAX: u32 = 10;



@@ 102,7 101,7 @@ pub async fn timer_main(

                let module_collider = ColliderBuilder::cuboid(18.75 / SCALE, 23.4375 / SCALE)
                    .translation(vector![0.0, 1.5625 / SCALE])
                    .mass_properties(MassProperties::new(point![0.0, 0.0], 120.0, 122500.0))
                    .mass_properties(MassProperties::new(point![0.0, 0.0], 0.0001, 0.005))
                    .build();
                let angle: f64 = {
                    let mut rng = rand::thread_rng();


@@ 172,6 171,17 @@ pub async fn timer_main(
                    entities.entities.remove(&id);
                }
            }
            for module in entities.get_all_attached().iter_mut() {
                let module_handle = module.handle;
                let module_body = physics_data.rigid_body_set.get_mut(module_handle).unwrap();
                module_body.reset_forces(true);
                module_body.reset_torques(true);
                let grav_force = entities.gravity(
                    (module_body.translation().x, module_body.translation().y),
                    module_body.mass(),
                );
                module_body.apply_impulse(vector![grav_force.0, grav_force.1], true);
            }
        }

        {


@@ 215,23 225,23 @@ pub async fn timer_main(
                right_bottom_thruster = LATERAL_FORCE * right_bottom_thruster.clamp(-1.0, 1.0);

                let rotation = player_body.rotation().clone().angle();
                let scale = SCALE;
                let left_top_thruster = vector![
                    -left_top_thruster * rotation.sin(),
                    left_top_thruster * rotation.cos()
                    -left_top_thruster / scale * rotation.sin(),
                    left_top_thruster / scale * rotation.cos()
                ];
                let right_top_thruster = vector![
                    -right_top_thruster * rotation.sin(),
                    right_top_thruster * rotation.cos()
                    -right_top_thruster / scale * rotation.sin(),
                    right_top_thruster / scale * rotation.cos()
                ];
                let left_bottom_thruster = vector![
                    -left_bottom_thruster * rotation.sin(),
                    left_bottom_thruster * rotation.cos()
                    -left_bottom_thruster / scale * rotation.sin(),
                    left_bottom_thruster / scale * rotation.cos()
                ];
                let right_bottom_thruster = vector![
                    -right_bottom_thruster * rotation.sin(),
                    right_bottom_thruster * rotation.cos()
                    -right_bottom_thruster / scale * rotation.sin(),
                    right_bottom_thruster / scale * rotation.cos()
                ];
                let scale = SCALE;
                let top_left_point = point![
                    -25. / scale * rotation.cos() + 25. / scale * rotation.sin(),
                    -25. / scale * rotation.sin() - 25. / scale * rotation.cos()