~starkingdoms/starkingdoms

1ef8b87c0092488c3bd7851f2f4cdb070b902172 — core 2 years ago 7ab45e1
try to get orbits working again
M assets/dist/spritesheet-125.json => assets/dist/spritesheet-125.json +32 -23
@@ 9,7 9,7 @@
      "pivot": { "x": 128, "y": 128 },
      "9slicedFrame": { "x": 0, "y": 0, "w": 256, "h": 256 }
    },
    "earth.png": {
    "mars.png": {
      "frame": { "x": 0, "y": 256, "w": 256, "h": 256 },
      "rotated": false,
      "trimmed": false,


@@ 18,7 18,7 @@
      "pivot": { "x": 128, "y": 128 },
      "9slicedFrame": { "x": 0, "y": 0, "w": 256, "h": 256 }
    },
    "moon.png": {
    "earth.png": {
      "frame": { "x": 0, "y": 512, "w": 256, "h": 256 },
      "rotated": false,
      "trimmed": false,


@@ 27,8 27,17 @@
      "pivot": { "x": 128, "y": 128 },
      "9slicedFrame": { "x": 0, "y": 0, "w": 256, "h": 256 }
    },
    "moon.png": {
      "frame": { "x": 0, "y": 768, "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 }
    },
    "trackindicator.png": {
      "frame": { "x": 0, "y": 768, "w": 64, "h": 64 },
      "frame": { "x": 0, "y": 1024, "w": 64, "h": 64 },
      "rotated": false,
      "trimmed": false,
      "spriteSourceSize": { "x": 0, "y": 0, "w": 64, "h": 64 },


@@ 36,8 45,8 @@
      "pivot": { "x": 32, "y": 32 },
      "9slicedFrame": { "x": 0, "y": 0, "w": 64, "h": 64 }
    },
    "hearty.png": {
      "frame": { "x": 0, "y": 832, "w": 64, "h": 64 },
    "autoplr_error.png": {
      "frame": { "x": 0, "y": 1088, "w": 64, "h": 64 },
      "rotated": false,
      "trimmed": false,
      "spriteSourceSize": { "x": 0, "y": 0, "w": 64, "h": 64 },


@@ 46,7 55,7 @@
      "9slicedFrame": { "x": 0, "y": 0, "w": 64, "h": 64 }
    },
    "autoplr_cfg.png": {
      "frame": { "x": 0, "y": 896, "w": 64, "h": 64 },
      "frame": { "x": 0, "y": 1152, "w": 64, "h": 64 },
      "rotated": false,
      "trimmed": false,
      "spriteSourceSize": { "x": 0, "y": 0, "w": 64, "h": 64 },


@@ 54,8 63,8 @@
      "pivot": { "x": 32, "y": 32 },
      "9slicedFrame": { "x": 0, "y": 0, "w": 64, "h": 64 }
    },
    "autoplr_error.png": {
      "frame": { "x": 0, "y": 960, "w": 64, "h": 64 },
    "hearty.png": {
      "frame": { "x": 0, "y": 1216, "w": 64, "h": 64 },
      "rotated": false,
      "trimmed": false,
      "spriteSourceSize": { "x": 0, "y": 0, "w": 64, "h": 64 },


@@ 64,7 73,7 @@
      "9slicedFrame": { "x": 0, "y": 0, "w": 64, "h": 64 }
    },
    "superthruster_on.png": {
      "frame": { "x": 0, "y": 1024, "w": 64, "h": 64 },
      "frame": { "x": 0, "y": 1280, "w": 64, "h": 64 },
      "rotated": false,
      "trimmed": false,
      "spriteSourceSize": { "x": 0, "y": 0, "w": 64, "h": 64 },


@@ 73,7 82,7 @@
      "9slicedFrame": { "x": 0, "y": 0, "w": 64, "h": 64 }
    },
    "ecothruster_on.png": {
      "frame": { "x": 0, "y": 1088, "w": 64, "h": 64 },
      "frame": { "x": 0, "y": 1344, "w": 64, "h": 64 },
      "rotated": false,
      "trimmed": false,
      "spriteSourceSize": { "x": 0, "y": 0, "w": 64, "h": 64 },


@@ 82,7 91,7 @@
      "9slicedFrame": { "x": 0, "y": 0, "w": 64, "h": 64 }
    },
    "landingthruster_on.png": {
      "frame": { "x": 0, "y": 1152, "w": 64, "h": 64 },
      "frame": { "x": 0, "y": 1408, "w": 64, "h": 64 },
      "rotated": false,
      "trimmed": false,
      "spriteSourceSize": { "x": 0, "y": 0, "w": 64, "h": 64 },


@@ 91,7 100,7 @@
      "9slicedFrame": { "x": 0, "y": 0, "w": 64, "h": 64 }
    },
    "thruster_on.png": {
      "frame": { "x": 0, "y": 1216, "w": 64, "h": 64 },
      "frame": { "x": 0, "y": 1472, "w": 64, "h": 64 },
      "rotated": false,
      "trimmed": false,
      "spriteSourceSize": { "x": 0, "y": 0, "w": 64, "h": 64 },


@@ 100,7 109,7 @@
      "9slicedFrame": { "x": 0, "y": 0, "w": 64, "h": 64 }
    },
    "landingleg.png": {
      "frame": { "x": 0, "y": 1280, "w": 64, "h": 64 },
      "frame": { "x": 0, "y": 1536, "w": 64, "h": 64 },
      "rotated": false,
      "trimmed": false,
      "spriteSourceSize": { "x": 0, "y": 0, "w": 64, "h": 64 },


@@ 109,7 118,7 @@
      "9slicedFrame": { "x": 0, "y": 0, "w": 64, "h": 64 }
    },
    "hub_on.png": {
      "frame": { "x": 0, "y": 1344, "w": 64, "h": 64 },
      "frame": { "x": 0, "y": 1600, "w": 64, "h": 64 },
      "rotated": false,
      "trimmed": false,
      "spriteSourceSize": { "x": 0, "y": 0, "w": 64, "h": 64 },


@@ 118,7 127,7 @@
      "9slicedFrame": { "x": 0, "y": 0, "w": 64, "h": 64 }
    },
    "powerhub_on.png": {
      "frame": { "x": 0, "y": 1408, "w": 64, "h": 64 },
      "frame": { "x": 0, "y": 1664, "w": 64, "h": 64 },
      "rotated": false,
      "trimmed": false,
      "spriteSourceSize": { "x": 0, "y": 0, "w": 64, "h": 64 },


@@ 127,7 136,7 @@
      "9slicedFrame": { "x": 0, "y": 0, "w": 64, "h": 64 }
    },
    "autoplr_on.png": {
      "frame": { "x": 0, "y": 1472, "w": 64, "h": 64 },
      "frame": { "x": 0, "y": 1728, "w": 64, "h": 64 },
      "rotated": false,
      "trimmed": false,
      "spriteSourceSize": { "x": 0, "y": 0, "w": 64, "h": 64 },


@@ 136,7 145,7 @@
      "9slicedFrame": { "x": 0, "y": 0, "w": 64, "h": 64 }
    },
    "superthruster_off.png": {
      "frame": { "x": 0, "y": 1536, "w": 64, "h": 64 },
      "frame": { "x": 0, "y": 1792, "w": 64, "h": 64 },
      "rotated": false,
      "trimmed": false,
      "spriteSourceSize": { "x": 0, "y": 0, "w": 64, "h": 64 },


@@ 145,7 154,7 @@
      "9slicedFrame": { "x": 0, "y": 0, "w": 64, "h": 64 }
    },
    "landingthruster_off.png": {
      "frame": { "x": 0, "y": 1600, "w": 64, "h": 64 },
      "frame": { "x": 0, "y": 1856, "w": 64, "h": 64 },
      "rotated": false,
      "trimmed": false,
      "spriteSourceSize": { "x": 0, "y": 0, "w": 64, "h": 64 },


@@ 154,7 163,7 @@
      "9slicedFrame": { "x": 0, "y": 0, "w": 64, "h": 64 }
    },
    "thruster_off.png": {
      "frame": { "x": 0, "y": 1664, "w": 64, "h": 64 },
      "frame": { "x": 0, "y": 1920, "w": 64, "h": 64 },
      "rotated": false,
      "trimmed": false,
      "spriteSourceSize": { "x": 0, "y": 0, "w": 64, "h": 64 },


@@ 163,7 172,7 @@
      "9slicedFrame": { "x": 0, "y": 0, "w": 64, "h": 64 }
    },
    "cargo_on.png": {
      "frame": { "x": 0, "y": 1728, "w": 64, "h": 64 },
      "frame": { "x": 0, "y": 1984, "w": 64, "h": 64 },
      "rotated": false,
      "trimmed": false,
      "spriteSourceSize": { "x": 0, "y": 0, "w": 64, "h": 64 },


@@ 172,7 181,7 @@
      "9slicedFrame": { "x": 0, "y": 0, "w": 64, "h": 64 }
    },
    "cargo_off.png": {
      "frame": { "x": 0, "y": 1792, "w": 64, "h": 64 },
      "frame": { "x": 0, "y": 2048, "w": 64, "h": 64 },
      "rotated": false,
      "trimmed": false,
      "spriteSourceSize": { "x": 0, "y": 0, "w": 64, "h": 64 },


@@ 181,7 190,7 @@
      "9slicedFrame": { "x": 0, "y": 0, "w": 64, "h": 64 }
    },
    "hub_off.png": {
      "frame": { "x": 0, "y": 1856, "w": 64, "h": 64 },
      "frame": { "x": 0, "y": 2112, "w": 64, "h": 64 },
      "rotated": false,
      "trimmed": false,
      "spriteSourceSize": { "x": 0, "y": 0, "w": 64, "h": 64 },


@@ 190,7 199,7 @@
      "9slicedFrame": { "x": 0, "y": 0, "w": 64, "h": 64 }
    },
    "powerhub_off.png": {
      "frame": { "x": 0, "y": 1920, "w": 64, "h": 64 },
      "frame": { "x": 0, "y": 2176, "w": 64, "h": 64 },
      "rotated": false,
      "trimmed": false,
      "spriteSourceSize": { "x": 0, "y": 0, "w": 64, "h": 64 },

M assets/dist/spritesheet-125.png => assets/dist/spritesheet-125.png +0 -0
M assets/dist/spritesheet-375.json => assets/dist/spritesheet-375.json +35 -26
@@ 9,7 9,7 @@
      "pivot": { "x": 384, "y": 384 },
      "9slicedFrame": { "x": 0, "y": 0, "w": 768, "h": 768 }
    },
    "earth.png": {
    "mars.png": {
      "frame": { "x": 0, "y": 768, "w": 768, "h": 768 },
      "rotated": false,
      "trimmed": false,


@@ 18,7 18,7 @@
      "pivot": { "x": 384, "y": 384 },
      "9slicedFrame": { "x": 0, "y": 0, "w": 768, "h": 768 }
    },
    "moon.png": {
    "earth.png": {
      "frame": { "x": 0, "y": 1536, "w": 768, "h": 768 },
      "rotated": false,
      "trimmed": false,


@@ 27,8 27,17 @@
      "pivot": { "x": 384, "y": 384 },
      "9slicedFrame": { "x": 0, "y": 0, "w": 768, "h": 768 }
    },
    "moon.png": {
      "frame": { "x": 0, "y": 2304, "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 }
    },
    "trackindicator.png": {
      "frame": { "x": 0, "y": 2304, "w": 192, "h": 192 },
      "frame": { "x": 0, "y": 3072, "w": 192, "h": 192 },
      "rotated": false,
      "trimmed": false,
      "spriteSourceSize": { "x": 0, "y": 0, "w": 192, "h": 192 },


@@ 36,8 45,8 @@
      "pivot": { "x": 96, "y": 96 },
      "9slicedFrame": { "x": 0, "y": 0, "w": 192, "h": 192 }
    },
    "hearty.png": {
      "frame": { "x": 0, "y": 2496, "w": 192, "h": 192 },
    "autoplr_error.png": {
      "frame": { "x": 0, "y": 3264, "w": 192, "h": 192 },
      "rotated": false,
      "trimmed": false,
      "spriteSourceSize": { "x": 0, "y": 0, "w": 192, "h": 192 },


@@ 46,7 55,7 @@
      "9slicedFrame": { "x": 0, "y": 0, "w": 192, "h": 192 }
    },
    "autoplr_cfg.png": {
      "frame": { "x": 0, "y": 2688, "w": 192, "h": 192 },
      "frame": { "x": 0, "y": 3456, "w": 192, "h": 192 },
      "rotated": false,
      "trimmed": false,
      "spriteSourceSize": { "x": 0, "y": 0, "w": 192, "h": 192 },


@@ 54,8 63,8 @@
      "pivot": { "x": 96, "y": 96 },
      "9slicedFrame": { "x": 0, "y": 0, "w": 192, "h": 192 }
    },
    "autoplr_error.png": {
      "frame": { "x": 0, "y": 2880, "w": 192, "h": 192 },
    "hearty.png": {
      "frame": { "x": 0, "y": 3648, "w": 192, "h": 192 },
      "rotated": false,
      "trimmed": false,
      "spriteSourceSize": { "x": 0, "y": 0, "w": 192, "h": 192 },


@@ 64,7 73,7 @@
      "9slicedFrame": { "x": 0, "y": 0, "w": 192, "h": 192 }
    },
    "superthruster_on.png": {
      "frame": { "x": 0, "y": 3072, "w": 192, "h": 192 },
      "frame": { "x": 0, "y": 3840, "w": 192, "h": 192 },
      "rotated": false,
      "trimmed": false,
      "spriteSourceSize": { "x": 0, "y": 0, "w": 192, "h": 192 },


@@ 73,7 82,7 @@
      "9slicedFrame": { "x": 0, "y": 0, "w": 192, "h": 192 }
    },
    "ecothruster_on.png": {
      "frame": { "x": 0, "y": 3264, "w": 192, "h": 192 },
      "frame": { "x": 0, "y": 4032, "w": 192, "h": 192 },
      "rotated": false,
      "trimmed": false,
      "spriteSourceSize": { "x": 0, "y": 0, "w": 192, "h": 192 },


@@ 82,7 91,7 @@
      "9slicedFrame": { "x": 0, "y": 0, "w": 192, "h": 192 }
    },
    "landingthruster_on.png": {
      "frame": { "x": 0, "y": 3456, "w": 192, "h": 192 },
      "frame": { "x": 0, "y": 4224, "w": 192, "h": 192 },
      "rotated": false,
      "trimmed": false,
      "spriteSourceSize": { "x": 0, "y": 0, "w": 192, "h": 192 },


@@ 91,7 100,7 @@
      "9slicedFrame": { "x": 0, "y": 0, "w": 192, "h": 192 }
    },
    "thruster_on.png": {
      "frame": { "x": 0, "y": 3648, "w": 192, "h": 192 },
      "frame": { "x": 0, "y": 4416, "w": 192, "h": 192 },
      "rotated": false,
      "trimmed": false,
      "spriteSourceSize": { "x": 0, "y": 0, "w": 192, "h": 192 },


@@ 100,7 109,7 @@
      "9slicedFrame": { "x": 0, "y": 0, "w": 192, "h": 192 }
    },
    "landingleg.png": {
      "frame": { "x": 0, "y": 3840, "w": 192, "h": 192 },
      "frame": { "x": 0, "y": 4608, "w": 192, "h": 192 },
      "rotated": false,
      "trimmed": false,
      "spriteSourceSize": { "x": 0, "y": 0, "w": 192, "h": 192 },


@@ 108,8 117,8 @@
      "pivot": { "x": 96, "y": 96 },
      "9slicedFrame": { "x": 0, "y": 0, "w": 192, "h": 192 }
    },
    "powerhub_on.png": {
      "frame": { "x": 0, "y": 4032, "w": 192, "h": 192 },
    "hub_on.png": {
      "frame": { "x": 0, "y": 4800, "w": 192, "h": 192 },
      "rotated": false,
      "trimmed": false,
      "spriteSourceSize": { "x": 0, "y": 0, "w": 192, "h": 192 },


@@ 117,8 126,8 @@
      "pivot": { "x": 96, "y": 96 },
      "9slicedFrame": { "x": 0, "y": 0, "w": 192, "h": 192 }
    },
    "hub_on.png": {
      "frame": { "x": 0, "y": 4224, "w": 192, "h": 192 },
    "autoplr_on.png": {
      "frame": { "x": 0, "y": 4992, "w": 192, "h": 192 },
      "rotated": false,
      "trimmed": false,
      "spriteSourceSize": { "x": 0, "y": 0, "w": 192, "h": 192 },


@@ 126,8 135,8 @@
      "pivot": { "x": 96, "y": 96 },
      "9slicedFrame": { "x": 0, "y": 0, "w": 192, "h": 192 }
    },
    "autoplr_on.png": {
      "frame": { "x": 0, "y": 4416, "w": 192, "h": 192 },
    "powerhub_on.png": {
      "frame": { "x": 0, "y": 5184, "w": 192, "h": 192 },
      "rotated": false,
      "trimmed": false,
      "spriteSourceSize": { "x": 0, "y": 0, "w": 192, "h": 192 },


@@ 136,7 145,7 @@
      "9slicedFrame": { "x": 0, "y": 0, "w": 192, "h": 192 }
    },
    "landingthruster_off.png": {
      "frame": { "x": 0, "y": 4608, "w": 192, "h": 192 },
      "frame": { "x": 0, "y": 5376, "w": 192, "h": 192 },
      "rotated": false,
      "trimmed": false,
      "spriteSourceSize": { "x": 0, "y": 0, "w": 192, "h": 192 },


@@ 145,7 154,7 @@
      "9slicedFrame": { "x": 0, "y": 0, "w": 192, "h": 192 }
    },
    "superthruster_off.png": {
      "frame": { "x": 0, "y": 4800, "w": 192, "h": 192 },
      "frame": { "x": 0, "y": 5568, "w": 192, "h": 192 },
      "rotated": false,
      "trimmed": false,
      "spriteSourceSize": { "x": 0, "y": 0, "w": 192, "h": 192 },


@@ 154,7 163,7 @@
      "9slicedFrame": { "x": 0, "y": 0, "w": 192, "h": 192 }
    },
    "thruster_off.png": {
      "frame": { "x": 0, "y": 4992, "w": 192, "h": 192 },
      "frame": { "x": 0, "y": 5760, "w": 192, "h": 192 },
      "rotated": false,
      "trimmed": false,
      "spriteSourceSize": { "x": 0, "y": 0, "w": 192, "h": 192 },


@@ 163,7 172,7 @@
      "9slicedFrame": { "x": 0, "y": 0, "w": 192, "h": 192 }
    },
    "cargo_on.png": {
      "frame": { "x": 0, "y": 5184, "w": 192, "h": 192 },
      "frame": { "x": 0, "y": 5952, "w": 192, "h": 192 },
      "rotated": false,
      "trimmed": false,
      "spriteSourceSize": { "x": 0, "y": 0, "w": 192, "h": 192 },


@@ 172,7 181,7 @@
      "9slicedFrame": { "x": 0, "y": 0, "w": 192, "h": 192 }
    },
    "cargo_off.png": {
      "frame": { "x": 0, "y": 5376, "w": 192, "h": 192 },
      "frame": { "x": 0, "y": 6144, "w": 192, "h": 192 },
      "rotated": false,
      "trimmed": false,
      "spriteSourceSize": { "x": 0, "y": 0, "w": 192, "h": 192 },


@@ 181,7 190,7 @@
      "9slicedFrame": { "x": 0, "y": 0, "w": 192, "h": 192 }
    },
    "hub_off.png": {
      "frame": { "x": 0, "y": 5568, "w": 192, "h": 192 },
      "frame": { "x": 0, "y": 6336, "w": 192, "h": 192 },
      "rotated": false,
      "trimmed": false,
      "spriteSourceSize": { "x": 0, "y": 0, "w": 192, "h": 192 },


@@ 190,7 199,7 @@
      "9slicedFrame": { "x": 0, "y": 0, "w": 192, "h": 192 }
    },
    "powerhub_off.png": {
      "frame": { "x": 0, "y": 5760, "w": 192, "h": 192 },
      "frame": { "x": 0, "y": 6528, "w": 192, "h": 192 },
      "rotated": false,
      "trimmed": false,
      "spriteSourceSize": { "x": 0, "y": 0, "w": 192, "h": 192 },

M assets/dist/spritesheet-375.png => assets/dist/spritesheet-375.png +0 -0
M assets/dist/spritesheet-full.json => assets/dist/spritesheet-full.json +24 -15
@@ 9,7 9,7 @@
      "pivot": { "x": 1024, "y": 1024 },
      "9slicedFrame": { "x": 0, "y": 0, "w": 2048, "h": 2048 }
    },
    "earth.png": {
    "mars.png": {
      "frame": { "x": 0, "y": 2048, "w": 2048, "h": 2048 },
      "rotated": false,
      "trimmed": false,


@@ 18,7 18,7 @@
      "pivot": { "x": 1024, "y": 1024 },
      "9slicedFrame": { "x": 0, "y": 0, "w": 2048, "h": 2048 }
    },
    "moon.png": {
    "earth.png": {
      "frame": { "x": 0, "y": 4096, "w": 2048, "h": 2048 },
      "rotated": false,
      "trimmed": false,


@@ 27,6 27,15 @@
      "pivot": { "x": 1024, "y": 1024 },
      "9slicedFrame": { "x": 0, "y": 0, "w": 2048, "h": 2048 }
    },
    "moon.png": {
      "frame": { "x": 2048, "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 }
    },
    "trackindicator.png": {
      "frame": { "x": 0, "y": 6144, "w": 512, "h": 512 },
      "rotated": false,


@@ 36,7 45,7 @@
      "pivot": { "x": 256, "y": 256 },
      "9slicedFrame": { "x": 0, "y": 0, "w": 512, "h": 512 }
    },
    "hearty.png": {
    "autoplr_error.png": {
      "frame": { "x": 0, "y": 6656, "w": 512, "h": 512 },
      "rotated": false,
      "trimmed": false,


@@ 54,7 63,7 @@
      "pivot": { "x": 256, "y": 256 },
      "9slicedFrame": { "x": 0, "y": 0, "w": 512, "h": 512 }
    },
    "autoplr_error.png": {
    "hearty.png": {
      "frame": { "x": 512, "y": 6144, "w": 512, "h": 512 },
      "rotated": false,
      "trimmed": false,


@@ 108,7 117,7 @@
      "pivot": { "x": 256, "y": 256 },
      "9slicedFrame": { "x": 0, "y": 0, "w": 512, "h": 512 }
    },
    "powerhub_on.png": {
    "hub_on.png": {
      "frame": { "x": 1536, "y": 6144, "w": 512, "h": 512 },
      "rotated": false,
      "trimmed": false,


@@ 117,7 126,7 @@
      "pivot": { "x": 256, "y": 256 },
      "9slicedFrame": { "x": 0, "y": 0, "w": 512, "h": 512 }
    },
    "hub_on.png": {
    "powerhub_on.png": {
      "frame": { "x": 1536, "y": 6656, "w": 512, "h": 512 },
      "rotated": false,
      "trimmed": false,


@@ 136,7 145,7 @@
      "9slicedFrame": { "x": 0, "y": 0, "w": 512, "h": 512 }
    },
    "superthruster_off.png": {
      "frame": { "x": 2048, "y": 0, "w": 512, "h": 512 },
      "frame": { "x": 4096, "y": 0, "w": 512, "h": 512 },
      "rotated": false,
      "trimmed": false,
      "spriteSourceSize": { "x": 0, "y": 0, "w": 512, "h": 512 },


@@ 145,7 154,7 @@
      "9slicedFrame": { "x": 0, "y": 0, "w": 512, "h": 512 }
    },
    "landingthruster_off.png": {
      "frame": { "x": 2560, "y": 0, "w": 512, "h": 512 },
      "frame": { "x": 4608, "y": 0, "w": 512, "h": 512 },
      "rotated": false,
      "trimmed": false,
      "spriteSourceSize": { "x": 0, "y": 0, "w": 512, "h": 512 },


@@ 154,7 163,7 @@
      "9slicedFrame": { "x": 0, "y": 0, "w": 512, "h": 512 }
    },
    "thruster_off.png": {
      "frame": { "x": 3072, "y": 0, "w": 512, "h": 512 },
      "frame": { "x": 5120, "y": 0, "w": 512, "h": 512 },
      "rotated": false,
      "trimmed": false,
      "spriteSourceSize": { "x": 0, "y": 0, "w": 512, "h": 512 },


@@ 163,7 172,7 @@
      "9slicedFrame": { "x": 0, "y": 0, "w": 512, "h": 512 }
    },
    "cargo_on.png": {
      "frame": { "x": 3584, "y": 0, "w": 512, "h": 512 },
      "frame": { "x": 5632, "y": 0, "w": 512, "h": 512 },
      "rotated": false,
      "trimmed": false,
      "spriteSourceSize": { "x": 0, "y": 0, "w": 512, "h": 512 },


@@ 172,7 181,7 @@
      "9slicedFrame": { "x": 0, "y": 0, "w": 512, "h": 512 }
    },
    "cargo_off.png": {
      "frame": { "x": 4096, "y": 0, "w": 512, "h": 512 },
      "frame": { "x": 6144, "y": 0, "w": 512, "h": 512 },
      "rotated": false,
      "trimmed": false,
      "spriteSourceSize": { "x": 0, "y": 0, "w": 512, "h": 512 },


@@ 180,8 189,8 @@
      "pivot": { "x": 256, "y": 256 },
      "9slicedFrame": { "x": 0, "y": 0, "w": 512, "h": 512 }
    },
    "powerhub_off.png": {
      "frame": { "x": 4608, "y": 0, "w": 512, "h": 512 },
    "hub_off.png": {
      "frame": { "x": 6656, "y": 0, "w": 512, "h": 512 },
      "rotated": false,
      "trimmed": false,
      "spriteSourceSize": { "x": 0, "y": 0, "w": 512, "h": 512 },


@@ 189,8 198,8 @@
      "pivot": { "x": 256, "y": 256 },
      "9slicedFrame": { "x": 0, "y": 0, "w": 512, "h": 512 }
    },
    "hub_off.png": {
      "frame": { "x": 5120, "y": 0, "w": 512, "h": 512 },
    "powerhub_off.png": {
      "frame": { "x": 7168, "y": 0, "w": 512, "h": 512 },
      "rotated": false,
      "trimmed": false,
      "spriteSourceSize": { "x": 0, "y": 0, "w": 512, "h": 512 },

M assets/dist/spritesheet-full.png => assets/dist/spritesheet-full.png +0 -0
M client/src/gateway.ts => client/src/gateway.ts +2 -2
@@ 90,7 90,7 @@ export async function gateway_connect(gateway_url: string, username: string): Pr
    let handshake_start_msg;
    if (global.can_beam_out) {
        handshake_start_msg = MessageC2SHello.encode({
            version: 5,
            version: 6,
            requestedUsername: username,
            nextState: State.Play,
            user: window.localStorage.getItem("user")!,


@@ 98,7 98,7 @@ export async function gateway_connect(gateway_url: string, username: string): Pr
        }).finish();
    } else {
        handshake_start_msg = MessageC2SHello.encode({
            version: 5,
            version: 6,
            requestedUsername: username,
            nextState: State.Play,
            // @ts-ignore

M client/src/index.ts => client/src/index.ts +21 -2
@@ 1,5 1,5 @@
import {Logger, logSetup} from "./logger";
import {gateway_connect, GatewayClient, AttachedModule} from "./gateway";
import {AttachedModule, gateway_connect, GatewayClient} from "./gateway";
import {Player} from "./protocol/player";
import {Planet, PlanetType} from "./protocol/planet";
import {Module, ModuleType} from "./protocol/module";


@@ 7,7 7,15 @@ import {
    MessageC2SAuthenticateAndBeamOut,
    MessageC2SAuthenticateAndBeamOut_packetInfo,
    MessageC2SInput,
    MessageC2SInput_packetInfo, MessageC2SModuleDetach, MessageC2SModuleDetach_packetInfo, MessageC2SModuleGrabBegin, MessageC2SModuleGrabBegin_packetInfo, MessageC2SModuleGrabEnd, MessageC2SModuleGrabEnd_packetInfo, MessageC2SMouseInput, MessageC2SMouseInput_packetInfo
    MessageC2SInput_packetInfo,
    MessageC2SModuleDetach,
    MessageC2SModuleDetach_packetInfo,
    MessageC2SModuleGrabBegin,
    MessageC2SModuleGrabBegin_packetInfo,
    MessageC2SModuleGrabEnd,
    MessageC2SModuleGrabEnd_packetInfo,
    MessageC2SMouseInput,
    MessageC2SMouseInput_packetInfo
} from "./protocol/message_c2s";
import {encode} from "./serde";
import {InputType} from "./protocol/input";


@@ 353,6 361,15 @@ async function client_main(server: string, username: string, texture_quality: st
                    global.context.lineTo(planet.x - global.me!.x, planet.y - global.me!.y);
                    global.context.stroke();
                }
            } else if (planet.planetType == PlanetType.Mars) {
                if (global.me !== null) {
                    global.context.beginPath();
                    global.context.strokeStyle = "orange";
                    global.context.lineWidth = 5;
                    global.context.moveTo(global.me!.x - global.me!.x, global.me!.y - global.me!.y);
                    global.context.lineTo(planet.x - global.me!.x, planet.y - global.me!.y);
                    global.context.stroke();
                }
            }
        }



@@ 469,6 486,8 @@ function planet_type_to_tex_id(ty: PlanetType): string {
        return "earth.png"
    } else if (ty == PlanetType.Moon) {
        return "moon.png"
    } else if (ty == PlanetType.Mars) {
        return "mars.png"
    }
    return "unknown.png"
}

M client/src/protocol/planet.ts => client/src/protocol/planet.ts +6 -0
@@ 7,6 7,7 @@ export enum PlanetType {
  UNKNOWN = 0,
  Earth = 1,
  Moon = 2,
  Mars = 3,
  UNRECOGNIZED = -1,
}



@@ 21,6 22,9 @@ export function planetTypeFromJSON(object: any): PlanetType {
    case 2:
    case "Moon":
      return PlanetType.Moon;
    case 3:
    case "Mars":
      return PlanetType.Mars;
    case -1:
    case "UNRECOGNIZED":
    default:


@@ 36,6 40,8 @@ export function planetTypeToJSON(object: PlanetType): string {
      return "Earth";
    case PlanetType.Moon:
      return "Moon";
    case PlanetType.Mars:
      return "Mars";
    case PlanetType.UNRECOGNIZED:
    default:
      return "UNRECOGNIZED";

M protocol/src/lib.rs => protocol/src/lib.rs +2 -1
@@ 14,7 14,7 @@ use protobuf::{Enum, Message};
use std::error::Error;
include!(concat!(env!("OUT_DIR"), "/protos/mod.rs"));

pub const PROTOCOL_VERSION: u32 = 5;
pub const PROTOCOL_VERSION: u32 = 6;

pub mod api;



@@ 295,6 295,7 @@ impl PlanetType {
        match self {
            PlanetType::Earth => "earth".to_string(),
            PlanetType::Moon => "moon".to_string(),
            PlanetType::Mars => "mars".to_string(),
            PlanetType::UNKNOWN => "missing".to_string(),
        }
    }

M protocol/src/pbuf/planet.proto => protocol/src/pbuf/planet.proto +1 -0
@@ 12,4 12,5 @@ enum PlanetType {
  UNKNOWN = 0;
  Earth = 1;
  Moon = 2;
  Mars = 3;
}
\ No newline at end of file

M server/src/entity.rs => server/src/entity.rs +1 -10
@@ 42,16 42,7 @@ impl EntityHandler {
        ids
    }
    pub fn get_planet(&self, planet_type: PlanetType) -> Option<Planet> {
        let mut planets = self.get_planets();
        for i in 0..planets.len() {
            if planets[i].planet_type == planet_type {
                planets.remove(i);
            }
        }
        if planets.is_empty() {
            return None;
        }
        Some(planets[0].clone())
        self.get_planets().iter().find(|u| u.planet_type == planet_type).cloned()
    }

    pub fn get_players(&self) -> Vec<(SocketAddr, Player)> {

M server/src/orbit/constants.rs => server/src/orbit/constants.rs +16 -1
@@ 12,7 12,7 @@ pub const EARTH_MASS_RL: f64 = 5_972_000_000_000_000_000_000_000.0;
pub const EARTH_MASS: f64 = EARTH_MASS_RL * GAME_SCALE_MASS * EARTH_MASS_BIAS;

pub const MOON_RADIUS_BIAS: f64 = 1.0;
pub const MOON_MASS_BIAS: f64 = 10.0;
pub const MOON_MASS_BIAS: f64 = 5.0;
pub const MOON_PERIAPSIS_BIAS: f64 = 0.1;
pub const MOON_APOAPSIS_BIAS: f64 = 0.1;
pub const MOON_ORBIT_TIME_BIAS: f64 = 1.0;


@@ 25,3 25,18 @@ pub const MOON_PERIAPSIS: f64 = 363_228_900.0 * GAME_SCALE_DISTANCE * MOON_PERIA
pub const MOON_APOAPSIS: f64 = 405_400_000.0 * GAME_SCALE_DISTANCE * MOON_APOAPSIS_BIAS;
pub const MOON_ORBIT_TIME_RL: f64 = 2_332_800.0;
pub const MOON_ORBIT_TIME: f64 = MOON_ORBIT_TIME_RL * GAME_SCALE_TIME * MOON_ORBIT_TIME_BIAS;

pub const MARS_RADIUS_BIAS: f64 = 1.0;
pub const MARS_MASS_BIAS: f64 = 10.0;
pub const MARS_PERIHELION_BIAS: f64 = 0.5;
pub const MARS_APHELION_BIAS: f64 = 0.5;
pub const MARS_ORBIT_TIME_BIAS: f64 = 0.2;

pub const MARS_RADIUS_RL: f64 = 3_390_000.0;
pub const MARS_RADIUS: f64 = MARS_RADIUS_RL * GAME_SCALE_DISTANCE * MARS_RADIUS_BIAS;
pub const MARS_MASS_RL: f64 = 63_900_000_000_000_000_000_000.0;
pub const MARS_MASS: f64 = MARS_MASS_RL * GAME_SCALE_MASS * MARS_MASS_BIAS;
pub const MARS_PERIHELION: f64 = 206_700_000.0 * GAME_SCALE_DISTANCE * MARS_PERIHELION_BIAS;
pub const MARS_APHELION: f64 = 249_200_000.0 * GAME_SCALE_DISTANCE * MARS_APHELION_BIAS;
pub const MARS_ORBIT_TIME_RL: f64 = 59_360_000.0;
pub const MARS_ORBIT_TIME: f64 = MARS_ORBIT_TIME_RL * GAME_SCALE_TIME * MARS_ORBIT_TIME_BIAS;
\ No newline at end of file

M server/src/planet.rs => server/src/planet.rs +25 -3
@@ 7,9 7,7 @@ use starkingdoms_protocol::planet::PlanetType;
use std::collections::HashMap;

use crate::entity::{get_entity_id, Entities, Entity, EntityId};
use crate::orbit::constants::{
    EARTH_MASS, EARTH_RADIUS, MOON_APOAPSIS, MOON_MASS, MOON_PERIAPSIS, MOON_RADIUS,
};
use crate::orbit::constants::{EARTH_MASS, EARTH_RADIUS, MARS_APHELION, MARS_MASS, MARS_PERIHELION, MARS_RADIUS, MOON_APOAPSIS, MOON_MASS, MOON_PERIAPSIS, MOON_RADIUS};
use crate::orbit::orbit::{calculate_point_on_orbit, calculate_world_position_of_orbit};
use crate::{manager::ClientHandlerMessage, SCALE};



@@ 120,6 118,30 @@ impl Planets {
        );
        entities.insert(moon_id, moon);
        planet_ids.push(moon_id);

        let mars_start_point;
        #[allow(clippy::expect_used)]
        if let Entity::Planet(moon) = entities.get(&moon_id).expect("moon does not exist") {
            mars_start_point = calculate_world_position_of_orbit(
                calculate_point_on_orbit(MARS_PERIHELION, MARS_APHELION, 0.0),
                vector![moon.position.0, moon.position.1],
            );
        } else {
            mars_start_point = vector![0., 0.];
        }

        let (mars_id, mars) = Self::make_planet(
            "mars",
            PlanetType::Mars,
            MARS_MASS,
            MARS_RADIUS,
            (mars_start_point[0], mars_start_point[1]),
            rigid_body_set,
            collider_set,
        );
        entities.insert(mars_id, mars);
        planet_ids.push(mars_id);

        planet_ids
    }


M server/src/timer.rs => server/src/timer.rs +21 -3
@@ 1,8 1,6 @@
use crate::entity::EntityHandler;
use crate::module::Module;
use crate::orbit::constants::{
    GAME_ORBITS_ENABLED, MOON_APOAPSIS, MOON_ORBIT_TIME, MOON_PERIAPSIS,
};
use crate::orbit::constants::{GAME_ORBITS_ENABLED, MARS_APHELION, MARS_ORBIT_TIME, MARS_PERIHELION, MOON_APOAPSIS, MOON_ORBIT_TIME, MOON_PERIAPSIS};
use crate::orbit::orbit::{calculate_point_on_orbit, calculate_world_position_of_orbit};
use crate::{
    entity::{get_entity_id, Entity},


@@ 91,6 89,26 @@ pub async fn timer_main(
                moon_body.translation()[0] / SCALE,
                moon_body.translation()[1] / SCALE,
            );

            // update mars
            let mars: &mut Planet = &mut planets
                .get_planet(PlanetType::Mars)
                .ok_or("mars does not exist")?;
            let new_mars_position = calculate_world_position_of_orbit(
                calculate_point_on_orbit(MARS_PERIHELION, MARS_APHELION, time / MARS_ORBIT_TIME),
                new_moon_position,
            );
            let mars_body = physics_data
                .rigid_body_set
                .get_mut(mars.body_handle)
                .ok_or("mars does not exist")?;
            mars_body.set_next_kinematic_position(new_mars_position.into());
            mars.position = (
                mars_body.translation()[0] / SCALE,
                mars_body.translation()[1] / SCALE,
            );


        }

        physics_data.tick(&mut pipeline);