28 files changed, 252 insertions(+), 7527 deletions(-)
M Cargo.lock
D client/.gitignore
D client/assets
D client/hearty.png
D client/index.html
D client/package.json
D client/play.html
D client/src/gateway.ts
D client/src/index.ts
D client/src/logger.ts
D client/src/particle.ts
D client/src/protocol/goodbye_reason.ts
D client/src/protocol/input.ts
D client/src/protocol/message_c2s.ts
D client/src/protocol/message_s2c.ts
D client/src/protocol/module.ts
D client/src/protocol/planet.ts
D client/src/protocol/player.ts
D client/src/protocol/starkingdoms-protocol.ts
D client/src/protocol/state.ts
D client/src/serde.ts
D client/src/vite-env.d.ts
D client/tsconfig.json
D client/vite.config.ts
D client/yarn.lock
M server/Cargo.toml
M server/src/main.rs
M server/src/packet.rs
M Cargo.lock => Cargo.lock +188 -2724
@@ 3,90 3,12 @@
version = 3
[[package]]
-name = "ab_glyph"
-version = "0.2.23"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "80179d7dd5d7e8c285d67c4a1e652972a92de7475beddfb92028c76463b13225"
-dependencies = [
- "ab_glyph_rasterizer",
- "owned_ttf_parser",
-]
-
-[[package]]
-name = "ab_glyph_rasterizer"
-version = "0.1.8"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c71b1793ee61086797f5c80b6efa2b8ffa6d5dd703f118545808a7f2e27f7046"
-
-[[package]]
name = "accesskit"
version = "0.12.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "ca8410747ed85a17c4a1e9ed3f5a74d3e7bdcc876cf9a18ff40ae21d645997b2"
[[package]]
-name = "accesskit_consumer"
-version = "0.16.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "8c17cca53c09fbd7288667b22a201274b9becaa27f0b91bf52a526db95de45e6"
-dependencies = [
- "accesskit",
-]
-
-[[package]]
-name = "accesskit_macos"
-version = "0.10.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "cd3b6ae1eabbfbced10e840fd3fce8a93ae84f174b3e4ba892ab7bcb42e477a7"
-dependencies = [
- "accesskit",
- "accesskit_consumer",
- "objc2",
- "once_cell",
-]
-
-[[package]]
-name = "accesskit_windows"
-version = "0.15.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "afcae27ec0974fc7c3b0b318783be89fd1b2e66dd702179fe600166a38ff4a0b"
-dependencies = [
- "accesskit",
- "accesskit_consumer",
- "once_cell",
- "paste",
- "static_assertions",
- "windows 0.48.0",
-]
-
-[[package]]
-name = "accesskit_winit"
-version = "0.15.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "88e39fcec2e10971e188730b7a76bab60647dacc973d4591855ebebcadfaa738"
-dependencies = [
- "accesskit",
- "accesskit_macos",
- "accesskit_windows",
- "winit",
-]
-
-[[package]]
-name = "addr2line"
-version = "0.21.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "8a30b2e23b9e17a9f90641c7ab1549cd9b44f296d3ccbf309d2863cfe398a0cb"
-dependencies = [
- "gimli",
-]
-
-[[package]]
-name = "adler"
-version = "1.0.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f26201604c87b1e01bd3d98f8d5d9a8fcbb815e8cedb41ffccbeb4bf593a35fe"
-
-[[package]]
name = "ahash"
version = "0.8.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
@@ 114,107 36,12 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "0942ffc6dcaadf03badf6e6a2d0228460359d5e34b57ccdc720b7382dfbd5ec5"
[[package]]
-name = "alsa"
-version = "0.7.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e2562ad8dcf0f789f65c6fdaad8a8a9708ed6b488e649da28c01656ad66b8b47"
-dependencies = [
- "alsa-sys",
- "bitflags 1.3.2",
- "libc",
- "nix 0.24.3",
-]
-
-[[package]]
-name = "alsa-sys"
-version = "0.3.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "db8fee663d06c4e303404ef5f40488a53e062f89ba8bfed81f42325aafad1527"
-dependencies = [
- "libc",
- "pkg-config",
-]
-
-[[package]]
-name = "android-activity"
-version = "0.4.3"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "64529721f27c2314ced0890ce45e469574a73e5e6fdd6e9da1860eb29285f5e0"
-dependencies = [
- "android-properties",
- "bitflags 1.3.2",
- "cc",
- "jni-sys",
- "libc",
- "log",
- "ndk",
- "ndk-context",
- "ndk-sys",
- "num_enum 0.6.1",
-]
-
-[[package]]
-name = "android-properties"
-version = "0.2.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "fc7eb209b1518d6bb87b283c20095f5228ecda460da70b44f0802523dea6da04"
-
-[[package]]
name = "android_log-sys"
version = "0.3.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "5ecc8056bf6ab9892dcd53216c83d1597487d7dacac16c8df6b877d127df9937"
[[package]]
-name = "android_system_properties"
-version = "0.1.5"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "819e7219dbd41043ac279b19830f2efc897156490d7fd6ea916720117ee66311"
-dependencies = [
- "libc",
-]
-
-[[package]]
-name = "approx"
-version = "0.5.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "cab112f0a86d568ea0e627cc1d6be74a1e9cd55214684db5561995f6dad897c6"
-dependencies = [
- "num-traits",
-]
-
-[[package]]
-name = "arrayref"
-version = "0.3.7"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "6b4930d2cb77ce62f89ee5d5289b4ac049559b1c45539271f5ed4fdc7db34545"
-
-[[package]]
-name = "arrayvec"
-version = "0.7.4"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "96d30a06541fbafbc7f82ed10c06164cfbd2c401138f6addd8404629c4b16711"
-
-[[package]]
-name = "ash"
-version = "0.37.3+1.3.251"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "39e9c3835d686b0a6084ab4234fcd1b07dbf6e4767dce60874b12356a25ecd4a"
-dependencies = [
- "libloading 0.7.4",
-]
-
-[[package]]
-name = "async-broadcast"
-version = "0.5.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7c48ccdbf6ca6b121e0f586cbc0e73ae440e56c67c30fa0873b4e110d9c26d2b"
-dependencies = [
- "event-listener",
- "futures-core",
-]
-
-[[package]]
name = "async-channel"
version = "1.9.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
@@ 240,18 67,6 @@ dependencies = [
]
[[package]]
-name = "async-fs"
-version = "1.6.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "279cf904654eeebfa37ac9bb1598880884924aab82e290aa65c9e77a0e142e06"
-dependencies = [
- "async-lock",
- "autocfg",
- "blocking",
- "futures-lite",
-]
-
-[[package]]
name = "async-lock"
version = "2.8.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
@@ 267,39 82,12 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "ecc7ab41815b3c653ccd2978ec3255c81349336702dfdf62ee6f7069b12a3aae"
[[package]]
-name = "atomic-waker"
-version = "1.1.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1181e1e0d1fce796a03db1ae795d67167da795f9cf4a39c37589e85ef57f26d3"
-
-[[package]]
name = "autocfg"
version = "1.1.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "d468802bab17cbc0cc575e9b053f41e72aa36bfa6b7f55e3529ffa43161b97fa"
[[package]]
-name = "backtrace"
-version = "0.3.69"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "2089b7e3f35b9dd2d0ed921ead4f6d318c27680d4a5bd167b3ee120edb105837"
-dependencies = [
- "addr2line",
- "cc",
- "cfg-if",
- "libc",
- "miniz_oxide",
- "object",
- "rustc-demangle",
-]
-
-[[package]]
-name = "base64"
-version = "0.13.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "9e1b586273c5702936fe7b7d6896644d8be71e6314cfe09d3167c95f712589e8"
-
-[[package]]
name = "base64"
version = "0.21.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
@@ 327,25 115,6 @@ dependencies = [
]
[[package]]
-name = "bevy_animation"
-version = "0.12.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ab94187a1253433e14f175293d8a86ec1c2822fda2a17807908f11ec21f45f00"
-dependencies = [
- "bevy_app",
- "bevy_asset",
- "bevy_core",
- "bevy_ecs",
- "bevy_hierarchy",
- "bevy_math",
- "bevy_reflect",
- "bevy_render",
- "bevy_time",
- "bevy_transform",
- "bevy_utils",
-]
-
-[[package]]
name = "bevy_app"
version = "0.12.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
@@ 362,68 131,6 @@ dependencies = [
]
[[package]]
-name = "bevy_asset"
-version = "0.12.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ccb2b67984088b23e223cfe9ec1befd89a110665a679acb06839bc4334ed37d6"
-dependencies = [
- "async-broadcast",
- "async-fs",
- "async-lock",
- "bevy_app",
- "bevy_asset_macros",
- "bevy_ecs",
- "bevy_log",
- "bevy_reflect",
- "bevy_tasks",
- "bevy_utils",
- "bevy_winit",
- "blake3",
- "crossbeam-channel",
- "downcast-rs",
- "futures-io",
- "futures-lite",
- "js-sys",
- "parking_lot",
- "ron",
- "serde",
- "thiserror",
- "wasm-bindgen",
- "wasm-bindgen-futures",
- "web-sys",
-]
-
-[[package]]
-name = "bevy_asset_macros"
-version = "0.12.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1b3245193e90fc8abcf1059a467cb224501dcda083d114c67c10ac66b7171e3a"
-dependencies = [
- "bevy_macro_utils",
- "proc-macro2",
- "quote",
- "syn 2.0.29",
-]
-
-[[package]]
-name = "bevy_audio"
-version = "0.12.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "478de80ff25cb7decbcb22797774d1597e8c32914e81431c67d64faadc08f84a"
-dependencies = [
- "bevy_app",
- "bevy_asset",
- "bevy_derive",
- "bevy_ecs",
- "bevy_math",
- "bevy_reflect",
- "bevy_transform",
- "bevy_utils",
- "oboe",
- "rodio",
-]
-
-[[package]]
name = "bevy_core"
version = "0.12.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
@@ 439,28 146,6 @@ dependencies = [
]
[[package]]
-name = "bevy_core_pipeline"
-version = "0.12.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "2e4b08a2d53ba62d9ec1fca3f7f4e0f556e9f59e1c8e63a4b7c2a18c0701152c"
-dependencies = [
- "bevy_app",
- "bevy_asset",
- "bevy_core",
- "bevy_derive",
- "bevy_ecs",
- "bevy_log",
- "bevy_math",
- "bevy_reflect",
- "bevy_render",
- "bevy_transform",
- "bevy_utils",
- "bitflags 2.4.0",
- "radsort",
- "serde",
-]
-
-[[package]]
name = "bevy_derive"
version = "0.12.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
@@ 468,7 153,7 @@ checksum = "24bf40259be12a1a24d9fd536f5ff18d31eeb5665b77e2732899783be6edc5d6"
dependencies = [
"bevy_macro_utils",
"quote",
- "syn 2.0.29",
+ "syn",
]
[[package]]
@@ 516,83 201,7 @@ dependencies = [
"bevy_macro_utils",
"proc-macro2",
"quote",
- "syn 2.0.29",
-]
-
-[[package]]
-name = "bevy_encase_derive"
-version = "0.12.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "65b9fb5a62c4e3ab70caaa839470d35fa932001b1b34b08bc7f7f1909bd2b3a7"
-dependencies = [
- "bevy_macro_utils",
- "encase_derive_impl",
-]
-
-[[package]]
-name = "bevy_gilrs"
-version = "0.12.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ad31cc2c84315e0759d793d6c5bcb7d8789bbc16359c98d1b766e708c1bbae49"
-dependencies = [
- "bevy_app",
- "bevy_ecs",
- "bevy_input",
- "bevy_log",
- "bevy_time",
- "bevy_utils",
- "gilrs",
- "thiserror",
-]
-
-[[package]]
-name = "bevy_gizmos"
-version = "0.12.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "87d1cc978b91f416b23eb16f00e69f95c3a04582021827d8082e92d4725cc510"
-dependencies = [
- "bevy_app",
- "bevy_asset",
- "bevy_core",
- "bevy_core_pipeline",
- "bevy_ecs",
- "bevy_math",
- "bevy_pbr",
- "bevy_reflect",
- "bevy_render",
- "bevy_sprite",
- "bevy_transform",
- "bevy_utils",
-]
-
-[[package]]
-name = "bevy_gltf"
-version = "0.12.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "6f933745c0c86e2c07948def581259b466f99708328657054e956275430ccfd7"
-dependencies = [
- "base64 0.13.1",
- "bevy_animation",
- "bevy_app",
- "bevy_asset",
- "bevy_core",
- "bevy_core_pipeline",
- "bevy_ecs",
- "bevy_hierarchy",
- "bevy_log",
- "bevy_math",
- "bevy_pbr",
- "bevy_reflect",
- "bevy_render",
- "bevy_scene",
- "bevy_tasks",
- "bevy_transform",
- "bevy_utils",
- "gltf",
- "percent-encoding",
- "serde",
- "serde_json",
- "thiserror",
+ "syn",
]
[[package]]
@@ 631,36 240,22 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "55124e486814c4d3632d5cfad9c4f4e46d052c028593ec46fef5bfbfb0f840b1"
dependencies = [
"bevy_a11y",
- "bevy_animation",
"bevy_app",
- "bevy_asset",
- "bevy_audio",
"bevy_core",
- "bevy_core_pipeline",
"bevy_derive",
"bevy_diagnostic",
"bevy_ecs",
- "bevy_gilrs",
- "bevy_gizmos",
- "bevy_gltf",
"bevy_hierarchy",
"bevy_input",
"bevy_log",
"bevy_math",
- "bevy_pbr",
"bevy_ptr",
"bevy_reflect",
- "bevy_render",
- "bevy_scene",
- "bevy_sprite",
"bevy_tasks",
- "bevy_text",
"bevy_time",
"bevy_transform",
- "bevy_ui",
"bevy_utils",
"bevy_window",
- "bevy_winit",
]
[[package]]
@@ 688,8 283,8 @@ dependencies = [
"proc-macro2",
"quote",
"rustc-hash",
- "syn 2.0.29",
- "toml_edit 0.20.7",
+ "syn",
+ "toml_edit",
]
[[package]]
@@ 703,51 298,16 @@ dependencies = [
]
[[package]]
-name = "bevy_mikktspace"
+name = "bevy_ptr"
version = "0.12.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b596c41a56f2268ec7cde560edc588bc7b5886e4b49c8b27c4dcc9f7c743424c"
-dependencies = [
- "glam",
-]
+checksum = "308a02679f6ce21ef71de20fae6d6a2016c07baa21d8e8d0558e6b7851e8adf2"
[[package]]
-name = "bevy_pbr"
+name = "bevy_reflect"
version = "0.12.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "eeb6a35a78d355cc21c10f277dcd171eca65e30a90e76eb89f4dacf606621fe1"
-dependencies = [
- "bevy_app",
- "bevy_asset",
- "bevy_core_pipeline",
- "bevy_derive",
- "bevy_ecs",
- "bevy_math",
- "bevy_reflect",
- "bevy_render",
- "bevy_transform",
- "bevy_utils",
- "bevy_window",
- "bitflags 2.4.0",
- "bytemuck",
- "fixedbitset",
- "naga_oil",
- "radsort",
- "smallvec",
- "thread_local",
-]
-
-[[package]]
-name = "bevy_ptr"
-version = "0.12.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "308a02679f6ce21ef71de20fae6d6a2016c07baa21d8e8d0558e6b7851e8adf2"
-
-[[package]]
-name = "bevy_reflect"
-version = "0.12.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "cdd56914a8ad57621d7a1a099f7e6b1f7482c9c76cedc9c3d4c175a203939c5d"
+checksum = "cdd56914a8ad57621d7a1a099f7e6b1f7482c9c76cedc9c3d4c175a203939c5d"
dependencies = [
"bevy_math",
"bevy_ptr",
@@ 771,116 331,11 @@ dependencies = [
"bevy_macro_utils",
"proc-macro2",
"quote",
- "syn 2.0.29",
- "uuid",
-]
-
-[[package]]
-name = "bevy_render"
-version = "0.12.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "90d777f4c51bd58e9e40777c6cb8dde0778df7e2c5298b3f9e3455bd12a9856c"
-dependencies = [
- "async-channel",
- "bevy_app",
- "bevy_asset",
- "bevy_core",
- "bevy_derive",
- "bevy_ecs",
- "bevy_encase_derive",
- "bevy_hierarchy",
- "bevy_log",
- "bevy_math",
- "bevy_mikktspace",
- "bevy_reflect",
- "bevy_render_macros",
- "bevy_tasks",
- "bevy_time",
- "bevy_transform",
- "bevy_utils",
- "bevy_window",
- "bitflags 2.4.0",
- "bytemuck",
- "codespan-reporting",
- "downcast-rs",
- "encase",
- "futures-lite",
- "hexasphere",
- "image",
- "js-sys",
- "ktx2",
- "naga",
- "naga_oil",
- "ruzstd",
- "serde",
- "smallvec",
- "thiserror",
- "thread_local",
- "wasm-bindgen",
- "web-sys",
- "wgpu",
-]
-
-[[package]]
-name = "bevy_render_macros"
-version = "0.12.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "35b00c3d0abff94a729460fc9aa95c2ceac71b49b3041166bb5ba3098e9657e7"
-dependencies = [
- "bevy_macro_utils",
- "proc-macro2",
- "quote",
- "syn 2.0.29",
-]
-
-[[package]]
-name = "bevy_scene"
-version = "0.12.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ba6294396a6375f0b14341d8003408c10aa040e3f833ac8bd49677170ec55d73"
-dependencies = [
- "bevy_app",
- "bevy_asset",
- "bevy_derive",
- "bevy_ecs",
- "bevy_hierarchy",
- "bevy_reflect",
- "bevy_render",
- "bevy_transform",
- "bevy_utils",
- "ron",
- "serde",
- "thiserror",
+ "syn",
"uuid",
]
[[package]]
-name = "bevy_sprite"
-version = "0.12.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b4f7d1f88a6e5497fdafd95c20984a1d1b5517bc39d51600b4988cd60c51837a"
-dependencies = [
- "bevy_app",
- "bevy_asset",
- "bevy_core_pipeline",
- "bevy_derive",
- "bevy_ecs",
- "bevy_log",
- "bevy_math",
- "bevy_reflect",
- "bevy_render",
- "bevy_transform",
- "bevy_utils",
- "bitflags 2.4.0",
- "bytemuck",
- "fixedbitset",
- "guillotiere",
- "radsort",
- "rectangle-pack",
- "thiserror",
-]
-
-[[package]]
name = "bevy_tasks"
version = "0.12.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
@@ 895,28 350,6 @@ dependencies = [
]
[[package]]
-name = "bevy_text"
-version = "0.12.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c136af700af4f87c94f68d6e019528c371bf09ebf4a8ff7468bb3c73806b34f5"
-dependencies = [
- "ab_glyph",
- "bevy_app",
- "bevy_asset",
- "bevy_ecs",
- "bevy_math",
- "bevy_reflect",
- "bevy_render",
- "bevy_sprite",
- "bevy_transform",
- "bevy_utils",
- "bevy_window",
- "glyph_brush_layout",
- "serde",
- "thiserror",
-]
-
-[[package]]
name = "bevy_time"
version = "0.12.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
@@ 955,36 388,6 @@ dependencies = [
]
[[package]]
-name = "bevy_ui"
-version = "0.12.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "cd5ecbf2dceaab118769dd870e34d780bfde556af561fd10d8d613b0f237297e"
-dependencies = [
- "bevy_a11y",
- "bevy_app",
- "bevy_asset",
- "bevy_core_pipeline",
- "bevy_derive",
- "bevy_ecs",
- "bevy_hierarchy",
- "bevy_input",
- "bevy_log",
- "bevy_math",
- "bevy_reflect",
- "bevy_render",
- "bevy_sprite",
- "bevy_text",
- "bevy_transform",
- "bevy_utils",
- "bevy_window",
- "bytemuck",
- "serde",
- "smallvec",
- "taffy",
- "thiserror",
-]
-
-[[package]]
name = "bevy_utils"
version = "0.12.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
@@ 993,7 396,7 @@ dependencies = [
"ahash",
"bevy_utils_proc_macros",
"getrandom",
- "hashbrown 0.14.0",
+ "hashbrown",
"instant",
"nonmax",
"petgraph",
@@ 1010,7 413,7 @@ checksum = "f7dfd3735a61a1b681ed1e176afe4eae731bbb03e51ad871e9eb39e76a2d170e"
dependencies = [
"proc-macro2",
"quote",
- "syn 2.0.29",
+ "syn",
]
[[package]]
@@ 1030,1542 433,330 @@ dependencies = [
]
[[package]]
-name = "bevy_winit"
-version = "0.12.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7f8294e78c6a1f9c34d36501a377c5d20bf0fa23a0958187bb270187741448ba"
-dependencies = [
- "accesskit_winit",
- "approx",
- "bevy_a11y",
- "bevy_app",
- "bevy_derive",
- "bevy_ecs",
- "bevy_hierarchy",
- "bevy_input",
- "bevy_math",
- "bevy_tasks",
- "bevy_utils",
- "bevy_window",
- "crossbeam-channel",
- "raw-window-handle",
- "wasm-bindgen",
- "web-sys",
- "winit",
-]
-
-[[package]]
-name = "bindgen"
-version = "0.69.1"
+name = "block-buffer"
+version = "0.10.4"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "9ffcebc3849946a7170a05992aac39da343a90676ab392c51a4280981d6379c2"
+checksum = "3078c7629b62d3f0439517fa394996acacc5cbc91c5a20d8c658e77abd503a71"
dependencies = [
- "bitflags 2.4.0",
- "cexpr",
- "clang-sys",
- "lazy_static",
- "lazycell",
- "peeking_take_while",
- "proc-macro2",
- "quote",
- "regex",
- "rustc-hash",
- "shlex",
- "syn 2.0.29",
+ "generic-array",
]
[[package]]
-name = "bit-set"
-version = "0.5.3"
+name = "bumpalo"
+version = "3.13.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "0700ddab506f33b20a03b13996eccd309a48e5ff77d0d95926aa0210fb4e95f1"
-dependencies = [
- "bit-vec",
-]
+checksum = "a3e2c3daef883ecc1b5d58c15adae93470a91d425f3532ba1695849656af3fc1"
[[package]]
-name = "bit-vec"
-version = "0.6.3"
+name = "bytemuck"
+version = "1.14.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "349f9b6a179ed607305526ca489b34ad0a41aed5f7980fa90eb03160b69598fb"
+checksum = "374d28ec25809ee0e23827c2ab573d729e293f281dfe393500e7ad618baa61c6"
[[package]]
-name = "bitflags"
-version = "1.3.2"
+name = "cfg-if"
+version = "1.0.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a"
+checksum = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd"
[[package]]
-name = "bitflags"
-version = "2.4.0"
+name = "concurrent-queue"
+version = "2.2.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b4682ae6287fcf752ecaabbfcc7b6f9b72aa33933dc23a554d853aea8eea8635"
+checksum = "62ec6771ecfa0762d24683ee5a32ad78487a3d3afdc0fb8cae19d2c5deb50b7c"
dependencies = [
- "serde",
+ "crossbeam-utils",
]
[[package]]
-name = "blake3"
-version = "1.5.0"
+name = "console_error_panic_hook"
+version = "0.1.7"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "0231f06152bf547e9c2b5194f247cd97aacf6dcd8b15d8e5ec0663f64580da87"
+checksum = "a06aeb73f470f66dcdbf7223caeebb85984942f22f1adb2a088cf9668146bbbc"
dependencies = [
- "arrayref",
- "arrayvec",
- "cc",
"cfg-if",
- "constant_time_eq",
+ "wasm-bindgen",
]
[[package]]
-name = "block"
-version = "0.1.6"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "0d8c1fef690941d3e7788d328517591fecc684c084084702d6ff1641e993699a"
-
-[[package]]
-name = "block-buffer"
-version = "0.10.4"
+name = "core-foundation-sys"
+version = "0.8.4"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "3078c7629b62d3f0439517fa394996acacc5cbc91c5a20d8c658e77abd503a71"
-dependencies = [
- "generic-array",
-]
+checksum = "e496a50fda8aacccc86d7529e2c1e0892dbd0f898a6b5645b5561b89c3210efa"
[[package]]
-name = "block-sys"
-version = "0.1.0-beta.1"
+name = "cpufeatures"
+version = "0.2.9"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "0fa55741ee90902547802152aaf3f8e5248aab7e21468089560d4c8840561146"
+checksum = "a17b76ff3a4162b0b27f354a0c87015ddad39d35f9c0c36607a3bdd175dde1f1"
dependencies = [
- "objc-sys",
+ "libc",
]
[[package]]
-name = "block2"
-version = "0.2.0-alpha.6"
+name = "crossbeam-channel"
+version = "0.5.8"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "8dd9e63c1744f755c2f60332b88de39d341e5e86239014ad839bd71c106dec42"
+checksum = "a33c2bf77f2df06183c3aa30d1e96c0695a313d4f9c453cc3762a6db39f99200"
dependencies = [
- "block-sys",
- "objc2-encode",
+ "cfg-if",
+ "crossbeam-utils",
]
[[package]]
-name = "blocking"
-version = "1.3.1"
+name = "crossbeam-utils"
+version = "0.8.16"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "77231a1c8f801696fc0123ec6150ce92cffb8e164a02afb9c8ddee0e9b65ad65"
+checksum = "5a22b2d63d4d1dc0b7f1b6b2747dd0088008a9be28b6ddf0b1e7d335e3037294"
dependencies = [
- "async-channel",
- "async-lock",
- "async-task",
- "atomic-waker",
- "fastrand",
- "futures-lite",
- "log",
+ "cfg-if",
]
[[package]]
-name = "bumpalo"
-version = "3.13.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a3e2c3daef883ecc1b5d58c15adae93470a91d425f3532ba1695849656af3fc1"
-
-[[package]]
-name = "bytemuck"
-version = "1.14.0"
+name = "crypto-common"
+version = "0.1.6"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "374d28ec25809ee0e23827c2ab573d729e293f281dfe393500e7ad618baa61c6"
+checksum = "1bfb12502f3fc46cca1bb51ac28df9d618d813cdc3d2f25b9fe775a34af26bb3"
dependencies = [
- "bytemuck_derive",
+ "generic-array",
+ "typenum",
]
[[package]]
-name = "bytemuck_derive"
-version = "1.5.0"
+name = "digest"
+version = "0.10.7"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "965ab7eb5f8f97d2a083c799f3a1b994fc397b2fe2da5d1da1626ce15a39f2b1"
+checksum = "9ed9a281f7bc9b7576e61468ba615a66a5c8cfdff42420a70aa82701a3b1e292"
dependencies = [
- "proc-macro2",
- "quote",
- "syn 2.0.29",
+ "block-buffer",
+ "crypto-common",
]
[[package]]
-name = "byteorder"
-version = "1.4.3"
+name = "downcast-rs"
+version = "1.2.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "14c189c53d098945499cdfa7ecc63567cf3886b3332b312a5b4585d8d3a6a610"
+checksum = "9ea835d29036a4087793836fa931b08837ad5e957da9e23886b29586fb9b6650"
[[package]]
-name = "bytes"
-version = "1.4.0"
+name = "equivalent"
+version = "1.0.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "89b2fd2a0dcf38d7971e2194b6b6eebab45ae01067456a7fd93d5547a61b70be"
+checksum = "5443807d6dff69373d433ab9ef5378ad8df50ca6298caf15de6e52e24aaf54d5"
[[package]]
-name = "cc"
-version = "1.0.83"
+name = "erased-serde"
+version = "0.3.31"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f1174fb0b6ec23863f8b971027804a42614e347eafb0a95bf0b12cdae21fc4d0"
+checksum = "6c138974f9d5e7fe373eb04df7cae98833802ae4b11c24ac7039a21d5af4b26c"
dependencies = [
- "jobserver",
- "libc",
+ "serde",
]
[[package]]
-name = "cesu8"
-version = "1.1.0"
+name = "event-listener"
+version = "2.5.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "6d43a04d8753f35258c91f8ec639f792891f748a1edbd759cf1dcea3382ad83c"
+checksum = "0206175f82b8d6bf6652ff7d71a1e27fd2e4efde587fd368662814d6ec1d9ce0"
[[package]]
-name = "cexpr"
-version = "0.6.0"
+name = "fastrand"
+version = "1.9.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "6fac387a98bb7c37292057cffc56d62ecb629900026402633ae9160df93a8766"
+checksum = "e51093e27b0797c359783294ca4f0a911c270184cb10f85783b118614a1501be"
dependencies = [
- "nom",
+ "instant",
]
[[package]]
-name = "cfg-if"
-version = "1.0.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd"
-
-[[package]]
-name = "cfg_aliases"
-version = "0.1.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "fd16c4719339c4530435d38e511904438d07cce7950afa3718a84ac36c10e89e"
-
-[[package]]
-name = "clang-sys"
-version = "1.6.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c688fc74432808e3eb684cae8830a86be1d66a2bd58e1f248ed0960a590baf6f"
-dependencies = [
- "glob",
- "libc",
- "libloading 0.7.4",
-]
-
-[[package]]
-name = "codespan-reporting"
-version = "0.11.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "3538270d33cc669650c4b093848450d380def10c331d38c768e34cac80576e6e"
-dependencies = [
- "termcolor",
- "unicode-width",
-]
-
-[[package]]
-name = "color_quant"
-version = "1.1.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "3d7b894f5411737b7867f4827955924d7c254fc9f4d91a6aad6b097804b1018b"
-
-[[package]]
-name = "com-rs"
-version = "0.2.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "bf43edc576402991846b093a7ca18a3477e0ef9c588cde84964b5d3e43016642"
-
-[[package]]
-name = "combine"
-version = "4.6.6"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "35ed6e9d84f0b51a7f52daf1c7d71dd136fd7a3f41a8462b8cdb8c78d920fad4"
-dependencies = [
- "bytes",
- "memchr",
-]
-
-[[package]]
-name = "concurrent-queue"
-version = "2.2.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "62ec6771ecfa0762d24683ee5a32ad78487a3d3afdc0fb8cae19d2c5deb50b7c"
-dependencies = [
- "crossbeam-utils",
-]
-
-[[package]]
-name = "console_error_panic_hook"
-version = "0.1.7"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a06aeb73f470f66dcdbf7223caeebb85984942f22f1adb2a088cf9668146bbbc"
-dependencies = [
- "cfg-if",
- "wasm-bindgen",
-]
-
-[[package]]
-name = "const_panic"
-version = "0.2.8"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "6051f239ecec86fde3410901ab7860d458d160371533842974fc61f96d15879b"
-
-[[package]]
-name = "const_soft_float"
-version = "0.1.4"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "87ca1caa64ef4ed453e68bb3db612e51cf1b2f5b871337f0fcab1c8f87cc3dff"
-
-[[package]]
-name = "constant_time_eq"
-version = "0.3.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f7144d30dcf0fafbce74250a3963025d8d52177934239851c917d29f1df280c2"
-
-[[package]]
-name = "constgebra"
-version = "0.1.3"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "edd23e864550e6dafc1e41ac78ce4f1ccddc8672b40c403524a04ff3f0518420"
-dependencies = [
- "const_soft_float",
-]
-
-[[package]]
-name = "core-foundation"
-version = "0.9.3"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "194a7a9e6de53fa55116934067c844d9d749312f75c6f6d0980e8c252f8c2146"
-dependencies = [
- "core-foundation-sys",
- "libc",
-]
-
-[[package]]
-name = "core-foundation-sys"
-version = "0.8.4"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e496a50fda8aacccc86d7529e2c1e0892dbd0f898a6b5645b5561b89c3210efa"
-
-[[package]]
-name = "core-graphics"
-version = "0.22.3"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "2581bbab3b8ffc6fcbd550bf46c355135d16e9ff2a6ea032ad6b9bf1d7efe4fb"
-dependencies = [
- "bitflags 1.3.2",
- "core-foundation",
- "core-graphics-types",
- "foreign-types 0.3.2",
- "libc",
-]
-
-[[package]]
-name = "core-graphics-types"
-version = "0.1.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "2bb142d41022986c1d8ff29103a1411c8a3dfad3552f87a4f8dc50d61d4f4e33"
-dependencies = [
- "bitflags 1.3.2",
- "core-foundation",
- "libc",
-]
-
-[[package]]
-name = "coreaudio-rs"
-version = "0.11.3"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "321077172d79c662f64f5071a03120748d5bb652f5231570141be24cfcd2bace"
-dependencies = [
- "bitflags 1.3.2",
- "core-foundation-sys",
- "coreaudio-sys",
-]
-
-[[package]]
-name = "coreaudio-sys"
-version = "0.2.14"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f3120ebb80a9de008e638ad833d4127d50ea3d3a960ea23ea69bc66d9358a028"
-dependencies = [
- "bindgen",
-]
-
-[[package]]
-name = "cpal"
-version = "0.15.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "6d959d90e938c5493000514b446987c07aed46c668faaa7d34d6c7a67b1a578c"
-dependencies = [
- "alsa",
- "core-foundation-sys",
- "coreaudio-rs",
- "dasp_sample",
- "jni 0.19.0",
- "js-sys",
- "libc",
- "mach2",
- "ndk",
- "ndk-context",
- "oboe",
- "once_cell",
- "parking_lot",
- "wasm-bindgen",
- "wasm-bindgen-futures",
- "web-sys",
- "windows 0.46.0",
-]
-
-[[package]]
-name = "cpufeatures"
-version = "0.2.9"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a17b76ff3a4162b0b27f354a0c87015ddad39d35f9c0c36607a3bdd175dde1f1"
-dependencies = [
- "libc",
-]
-
-[[package]]
-name = "crc32fast"
-version = "1.3.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b540bd8bc810d3885c6ea91e2018302f68baba2129ab3e88f32389ee9370880d"
-dependencies = [
- "cfg-if",
-]
-
-[[package]]
-name = "crossbeam-channel"
-version = "0.5.8"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a33c2bf77f2df06183c3aa30d1e96c0695a313d4f9c453cc3762a6db39f99200"
-dependencies = [
- "cfg-if",
- "crossbeam-utils",
-]
-
-[[package]]
-name = "crossbeam-utils"
-version = "0.8.16"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5a22b2d63d4d1dc0b7f1b6b2747dd0088008a9be28b6ddf0b1e7d335e3037294"
-dependencies = [
- "cfg-if",
-]
-
-[[package]]
-name = "crypto-common"
-version = "0.1.6"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1bfb12502f3fc46cca1bb51ac28df9d618d813cdc3d2f25b9fe775a34af26bb3"
-dependencies = [
- "generic-array",
- "typenum",
-]
-
-[[package]]
-name = "d3d12"
-version = "0.7.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e16e44ab292b1dddfdaf7be62cfd8877df52f2f3fde5858d95bab606be259f20"
-dependencies = [
- "bitflags 2.4.0",
- "libloading 0.8.1",
- "winapi",
-]
-
-[[package]]
-name = "dasp_sample"
-version = "0.11.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "0c87e182de0887fd5361989c677c4e8f5000cd9491d6d563161a8f3a5519fc7f"
-
-[[package]]
-name = "data-encoding"
-version = "2.4.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c2e66c9d817f1720209181c316d28635c050fa304f9c79e47a520882661b7308"
-
-[[package]]
-name = "digest"
-version = "0.10.7"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "9ed9a281f7bc9b7576e61468ba615a66a5c8cfdff42420a70aa82701a3b1e292"
-dependencies = [
- "block-buffer",
- "crypto-common",
-]
-
-[[package]]
-name = "dispatch"
-version = "0.2.0"
+name = "fixedbitset"
+version = "0.4.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "bd0c93bb4b0c6d9b77f4435b0ae98c24d17f1c45b2ff844c6151a07256ca923b"
+checksum = "0ce7134b9999ecaf8bcd65542e436736ef32ddca1b3e06094cb6ec5755203b80"
[[package]]
-name = "downcast-rs"
+name = "form_urlencoded"
version = "1.2.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "9ea835d29036a4087793836fa931b08837ad5e957da9e23886b29586fb9b6650"
-
-[[package]]
-name = "encase"
-version = "0.6.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "8fce2eeef77fd4a293a54b62aa00ac9daebfbcda4bf8998c5a815635b004aa1c"
-dependencies = [
- "const_panic",
- "encase_derive",
- "glam",
- "thiserror",
-]
-
-[[package]]
-name = "encase_derive"
-version = "0.6.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "0e520cde08cbf4f7cc097f61573ec06ce467019803de8ae82fb2823fa1554a0e"
-dependencies = [
- "encase_derive_impl",
-]
-
-[[package]]
-name = "encase_derive_impl"
-version = "0.6.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "3fe2568f851fd6144a45fa91cfed8fe5ca8fc0b56ba6797bfc1ed2771b90e37c"
-dependencies = [
- "proc-macro2",
- "quote",
- "syn 2.0.29",
-]
-
-[[package]]
-name = "equivalent"
-version = "1.0.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5443807d6dff69373d433ab9ef5378ad8df50ca6298caf15de6e52e24aaf54d5"
-
-[[package]]
-name = "erased-serde"
-version = "0.3.31"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "6c138974f9d5e7fe373eb04df7cae98833802ae4b11c24ac7039a21d5af4b26c"
-dependencies = [
- "serde",
-]
-
-[[package]]
-name = "euclid"
-version = "0.22.9"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "87f253bc5c813ca05792837a0ff4b3a580336b224512d48f7eda1d7dd9210787"
-dependencies = [
- "num-traits",
-]
-
-[[package]]
-name = "event-listener"
-version = "2.5.3"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "0206175f82b8d6bf6652ff7d71a1e27fd2e4efde587fd368662814d6ec1d9ce0"
-
-[[package]]
-name = "fastrand"
-version = "1.9.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e51093e27b0797c359783294ca4f0a911c270184cb10f85783b118614a1501be"
+checksum = "a62bc1cf6f830c2ec14a513a9fb124d0a213a629668a4186f329db21fe045652"
dependencies = [
- "instant",
+ "percent-encoding",
]
[[package]]
-name = "fdeflate"
-version = "0.3.1"
+name = "futures-core"
+version = "0.3.28"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "64d6dafc854908ff5da46ff3f8f473c6984119a2876a383a860246dd7841a868"
-dependencies = [
- "simd-adler32",
-]
+checksum = "4bca583b7e26f571124fe5b7561d49cb2868d79116cfa0eefce955557c6fee8c"
[[package]]
-name = "fixedbitset"
-version = "0.4.2"
+name = "futures-io"
+version = "0.3.28"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "0ce7134b9999ecaf8bcd65542e436736ef32ddca1b3e06094cb6ec5755203b80"
-
-[[package]]
-name = "flate2"
-version = "1.0.27"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c6c98ee8095e9d1dcbf2fcc6d95acccb90d1c81db1e44725c6a984b1dbdfb010"
-dependencies = [
- "crc32fast",
- "miniz_oxide",
-]
-
-[[package]]
-name = "fnv"
-version = "1.0.7"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "3f9eec918d3f24069decb9af1554cad7c880e2da24a9afd88aca000531ab82c1"
-
-[[package]]
-name = "foreign-types"
-version = "0.3.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f6f339eb8adc052cd2ca78910fda869aefa38d22d5cb648e6485e4d3fc06f3b1"
-dependencies = [
- "foreign-types-shared 0.1.1",
-]
-
-[[package]]
-name = "foreign-types"
-version = "0.5.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d737d9aa519fb7b749cbc3b962edcf310a8dd1f4b67c91c4f83975dbdd17d965"
-dependencies = [
- "foreign-types-macros",
- "foreign-types-shared 0.3.1",
-]
-
-[[package]]
-name = "foreign-types-macros"
-version = "0.2.3"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1a5c6c585bc94aaf2c7b51dd4c2ba22680844aba4c687be581871a6f518c5742"
-dependencies = [
- "proc-macro2",
- "quote",
- "syn 2.0.29",
-]
-
-[[package]]
-name = "foreign-types-shared"
-version = "0.1.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "00b0228411908ca8685dba7fc2cdd70ec9990a6e753e89b6ac91a84c40fbaf4b"
-
-[[package]]
-name = "foreign-types-shared"
-version = "0.3.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "aa9a19cbb55df58761df49b23516a86d432839add4af60fc256da840f66ed35b"
-
-[[package]]
-name = "form_urlencoded"
-version = "1.2.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a62bc1cf6f830c2ec14a513a9fb124d0a213a629668a4186f329db21fe045652"
-dependencies = [
- "percent-encoding",
-]
-
-[[package]]
-name = "futures-core"
-version = "0.3.28"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "4bca583b7e26f571124fe5b7561d49cb2868d79116cfa0eefce955557c6fee8c"
-
-[[package]]
-name = "futures-io"
-version = "0.3.28"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "4fff74096e71ed47f8e023204cfd0aa1289cd54ae5430a9523be060cdb849964"
-
-[[package]]
-name = "futures-lite"
-version = "1.13.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "49a9d51ce47660b1e808d3c990b4709f2f415d928835a17dfd16991515c46bce"
-dependencies = [
- "fastrand",
- "futures-core",
- "futures-io",
- "memchr",
- "parking",
- "pin-project-lite",
- "waker-fn",
-]
-
-[[package]]
-name = "generic-array"
-version = "0.14.7"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "85649ca51fd72272d7821adaf274ad91c288277713d9c18820d8499a7ff69e9a"
-dependencies = [
- "typenum",
- "version_check",
-]
-
-[[package]]
-name = "getrandom"
-version = "0.2.10"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "be4136b2a15dd319360be1c07d9933517ccf0be8f16bf62a3bee4f0d618df427"
-dependencies = [
- "cfg-if",
- "js-sys",
- "libc",
- "wasi",
- "wasm-bindgen",
-]
-
-[[package]]
-name = "gilrs"
-version = "0.10.3"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "9e9eec02069fcbd7abe00a28adf216547774889129a777cb5e53fdfb75d59f09"
-dependencies = [
- "fnv",
- "gilrs-core",
- "log",
- "uuid",
- "vec_map",
-]
-
-[[package]]
-name = "gilrs-core"
-version = "0.5.9"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "178769da179a47b187837d1ab2b5b9b684a21180166a77a4ca37e7e58ee3833d"
-dependencies = [
- "core-foundation",
- "inotify",
- "io-kit-sys",
- "js-sys",
- "libc",
- "libudev-sys",
- "log",
- "nix 0.27.1",
- "uuid",
- "vec_map",
- "wasm-bindgen",
- "web-sys",
- "windows 0.48.0",
-]
-
-[[package]]
-name = "gimli"
-version = "0.28.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "6fb8d784f27acf97159b40fc4db5ecd8aa23b9ad5ef69cdd136d3bc80665f0c0"
-
-[[package]]
-name = "glam"
-version = "0.24.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b5418c17512bdf42730f9032c74e1ae39afc408745ebb2acf72fbc4691c17945"
-dependencies = [
- "bytemuck",
- "serde",
-]
-
-[[package]]
-name = "glob"
-version = "0.3.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d2fabcfbdc87f4758337ca535fb41a6d701b65693ce38287d856d1674551ec9b"
-
-[[package]]
-name = "glow"
-version = "0.12.3"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ca0fe580e4b60a8ab24a868bc08e2f03cbcb20d3d676601fa909386713333728"
-dependencies = [
- "js-sys",
- "slotmap",
- "wasm-bindgen",
- "web-sys",
-]
-
-[[package]]
-name = "gltf"
-version = "1.3.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ad2dcfb6dd7a66f9eb3d181a29dcfb22d146b0bcdc2e1ed1713cbf03939a88ea"
-dependencies = [
- "byteorder",
- "gltf-json",
- "lazy_static",
-]
-
-[[package]]
-name = "gltf-derive"
-version = "1.3.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f2cbcea5dd47e7ad4e9ee6f040384fcd7204bbf671aa4f9e7ca7dfc9bfa1de20"
-dependencies = [
- "inflections",
- "proc-macro2",
- "quote",
- "syn 2.0.29",
-]
-
-[[package]]
-name = "gltf-json"
-version = "1.3.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7d5b810806b78dde4b71a95cc0e6fdcab34c4c617da3574df166f9987be97d03"
-dependencies = [
- "gltf-derive",
- "serde",
- "serde_derive",
- "serde_json",
-]
-
-[[package]]
-name = "glyph_brush_layout"
-version = "0.2.3"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "cc32c2334f00ca5ac3695c5009ae35da21da8c62d255b5b96d56e2597a637a38"
-dependencies = [
- "ab_glyph",
- "approx",
- "xi-unicode",
-]
-
-[[package]]
-name = "gpu-alloc"
-version = "0.6.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "fbcd2dba93594b227a1f57ee09b8b9da8892c34d55aa332e034a228d0fe6a171"
-dependencies = [
- "bitflags 2.4.0",
- "gpu-alloc-types",
-]
-
-[[package]]
-name = "gpu-alloc-types"
-version = "0.3.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "98ff03b468aa837d70984d55f5d3f846f6ec31fe34bbb97c4f85219caeee1ca4"
-dependencies = [
- "bitflags 2.4.0",
-]
-
-[[package]]
-name = "gpu-allocator"
-version = "0.22.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ce95f9e2e11c2c6fadfce42b5af60005db06576f231f5c92550fdded43c423e8"
-dependencies = [
- "backtrace",
- "log",
- "thiserror",
- "winapi",
- "windows 0.44.0",
-]
-
-[[package]]
-name = "gpu-descriptor"
-version = "0.2.4"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "cc11df1ace8e7e564511f53af41f3e42ddc95b56fd07b3f4445d2a6048bc682c"
-dependencies = [
- "bitflags 2.4.0",
- "gpu-descriptor-types",
- "hashbrown 0.14.0",
-]
-
-[[package]]
-name = "gpu-descriptor-types"
-version = "0.1.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "6bf0b36e6f090b7e1d8a4b49c0cb81c1f8376f72198c65dd3ad9ff3556b8b78c"
-dependencies = [
- "bitflags 2.4.0",
-]
-
-[[package]]
-name = "grid"
-version = "0.10.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "eec1c01eb1de97451ee0d60de7d81cf1e72aabefb021616027f3d1c3ec1c723c"
-
-[[package]]
-name = "guillotiere"
-version = "0.6.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b62d5865c036cb1393e23c50693df631d3f5d7bcca4c04fe4cc0fd592e74a782"
-dependencies = [
- "euclid",
- "svg_fmt",
-]
-
-[[package]]
-name = "hashbrown"
-version = "0.12.3"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "8a9ee70c43aaf417c914396645a0fa852624801b24ebb7ae78fe8272889ac888"
-
-[[package]]
-name = "hashbrown"
-version = "0.14.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "2c6201b9ff9fd90a5a3bac2e56a830d0caa509576f0e503818ee82c181b3437a"
-dependencies = [
- "ahash",
- "allocator-api2",
- "serde",
-]
-
-[[package]]
-name = "hassle-rs"
-version = "0.10.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1397650ee315e8891a0df210707f0fc61771b0cc518c3023896064c5407cb3b0"
-dependencies = [
- "bitflags 1.3.2",
- "com-rs",
- "libc",
- "libloading 0.7.4",
- "thiserror",
- "widestring",
- "winapi",
-]
-
-[[package]]
-name = "hexasphere"
-version = "9.1.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7cb3df16a7bcb1b5bc092abd55e14f77ca70aea14445026e264586fc62889a10"
-dependencies = [
- "constgebra",
- "glam",
-]
-
-[[package]]
-name = "hexf-parse"
-version = "0.2.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "dfa686283ad6dd069f105e5ab091b04c62850d3e4cf5d67debad1933f55023df"
-
-[[package]]
-name = "idna"
-version = "0.4.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7d20d6b07bfbc108882d88ed8e37d39636dcc260e15e30c45e6ba089610b917c"
-dependencies = [
- "unicode-bidi",
- "unicode-normalization",
-]
-
-[[package]]
-name = "image"
-version = "0.24.7"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "6f3dfdbdd72063086ff443e297b61695500514b1e41095b6fb9a5ab48a70a711"
-dependencies = [
- "bytemuck",
- "byteorder",
- "color_quant",
- "num-rational",
- "num-traits",
- "png",
-]
-
-[[package]]
-name = "indexmap"
-version = "1.9.3"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "bd070e393353796e801d209ad339e89596eb4c8d430d18ede6a1cced8fafbd99"
-dependencies = [
- "autocfg",
- "hashbrown 0.12.3",
-]
-
-[[package]]
-name = "indexmap"
-version = "2.0.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d5477fe2230a79769d8dc68e0eabf5437907c0457a5614a9e8dddb67f65eb65d"
-dependencies = [
- "equivalent",
- "hashbrown 0.14.0",
-]
-
-[[package]]
-name = "inflections"
-version = "1.1.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a257582fdcde896fd96463bf2d40eefea0580021c0712a0e2b028b60b47a837a"
-
-[[package]]
-name = "inotify"
-version = "0.10.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "fdd168d97690d0b8c412d6b6c10360277f4d7ee495c5d0d5d5fe0854923255cc"
-dependencies = [
- "bitflags 1.3.2",
- "inotify-sys",
- "libc",
-]
-
-[[package]]
-name = "inotify-sys"
-version = "0.1.5"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e05c02b5e89bff3b946cedeca278abc628fe811e604f027c45a8aa3cf793d0eb"
-dependencies = [
- "libc",
-]
-
-[[package]]
-name = "instant"
-version = "0.1.12"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7a5bbe824c507c5da5956355e86a746d82e0e1464f65d862cc5e71da70e94b2c"
-dependencies = [
- "cfg-if",
- "js-sys",
- "wasm-bindgen",
- "web-sys",
-]
-
-[[package]]
-name = "io-kit-sys"
-version = "0.4.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "4769cb30e5dcf1710fc6730d3e94f78c47723a014a567de385e113c737394640"
-dependencies = [
- "core-foundation-sys",
- "mach2",
-]
-
-[[package]]
-name = "itoa"
-version = "1.0.9"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "af150ab688ff2122fcef229be89cb50dd66af9e01a4ff320cc137eecc9bacc38"
-
-[[package]]
-name = "jni"
-version = "0.19.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c6df18c2e3db7e453d3c6ac5b3e9d5182664d28788126d39b91f2d1e22b017ec"
-dependencies = [
- "cesu8",
- "combine",
- "jni-sys",
- "log",
- "thiserror",
- "walkdir",
-]
-
-[[package]]
-name = "jni"
-version = "0.20.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "039022cdf4d7b1cf548d31f60ae783138e5fd42013f6271049d7df7afadef96c"
-dependencies = [
- "cesu8",
- "combine",
- "jni-sys",
- "log",
- "thiserror",
- "walkdir",
-]
-
-[[package]]
-name = "jni-sys"
-version = "0.3.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "8eaf4bc02d17cbdd7ff4c7438cafcdf7fb9a4613313ad11b4f8fefe7d3fa0130"
-
-[[package]]
-name = "jobserver"
-version = "0.1.26"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "936cfd212a0155903bcbc060e316fb6cc7cbf2e1907329391ebadc1fe0ce77c2"
-dependencies = [
- "libc",
-]
-
-[[package]]
-name = "js-sys"
-version = "0.3.65"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "54c0c35952f67de54bb584e9fd912b3023117cbafc0a77d8f3dee1fb5f572fe8"
-dependencies = [
- "wasm-bindgen",
-]
-
-[[package]]
-name = "khronos-egl"
-version = "4.1.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "8c2352bd1d0bceb871cb9d40f24360c8133c11d7486b68b5381c1dd1a32015e3"
-dependencies = [
- "libc",
- "libloading 0.7.4",
- "pkg-config",
-]
-
-[[package]]
-name = "ktx2"
-version = "0.3.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "87d65e08a9ec02e409d27a0139eaa6b9756b4d81fe7cde71f6941a83730ce838"
-dependencies = [
- "bitflags 1.3.2",
-]
-
-[[package]]
-name = "lazy_static"
-version = "1.4.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e2abad23fbc42b3700f2f279844dc832adb2b2eb069b2df918f455c4e18cc646"
-
-[[package]]
-name = "lazycell"
-version = "1.3.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "830d08ce1d1d941e6b30645f1a0eb5643013d835ce3779a5fc208261dbe10f55"
-
-[[package]]
-name = "lewton"
-version = "0.10.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "777b48df9aaab155475a83a7df3070395ea1ac6902f5cd062b8f2b028075c030"
-dependencies = [
- "byteorder",
- "ogg",
- "tinyvec",
-]
-
-[[package]]
-name = "libc"
-version = "0.2.147"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b4668fb0ea861c1df094127ac5f1da3409a82116a4ba74fca2e58ef927159bb3"
-
-[[package]]
-name = "libloading"
-version = "0.7.4"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b67380fd3b2fbe7527a606e18729d21c6f3951633d0500574c4dc22d2d638b9f"
-dependencies = [
- "cfg-if",
- "winapi",
-]
-
-[[package]]
-name = "libloading"
-version = "0.8.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c571b676ddfc9a8c12f1f3d3085a7b163966a8fd8098a90640953ce5f6170161"
-dependencies = [
- "cfg-if",
- "windows-sys 0.48.0",
-]
-
-[[package]]
-name = "libredox"
-version = "0.0.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "3af92c55d7d839293953fcd0fda5ecfe93297cfde6ffbdec13b41d99c0ba6607"
-dependencies = [
- "bitflags 2.4.0",
- "libc",
- "redox_syscall 0.4.1",
-]
-
-[[package]]
-name = "libudev-sys"
-version = "0.1.4"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "3c8469b4a23b962c1396b9b451dda50ef5b283e8dd309d69033475fa9b334324"
-dependencies = [
- "libc",
- "pkg-config",
-]
-
-[[package]]
-name = "lock_api"
-version = "0.4.10"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c1cc9717a20b1bb222f333e6a92fd32f7d8a18ddc5a3191a11af45dcbf4dcd16"
-dependencies = [
- "autocfg",
- "scopeguard",
-]
-
-[[package]]
-name = "log"
-version = "0.4.20"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b5e6163cb8c49088c2c36f57875e58ccd8c87c7427f7fbd50ea6710b2f3f2e8f"
-
-[[package]]
-name = "mach2"
-version = "0.4.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "6d0d1830bcd151a6fc4aea1369af235b36c1528fe976b8ff678683c9995eade8"
-dependencies = [
- "libc",
-]
-
-[[package]]
-name = "malloc_buf"
-version = "0.0.6"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "62bb907fe88d54d8d9ce32a3cceab4218ed2f6b7d35617cafe9adf84e43919cb"
-dependencies = [
- "libc",
-]
-
-[[package]]
-name = "matchers"
-version = "0.1.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "8263075bb86c5a1b1427b5ae862e8889656f126e9f77c484496e8b47cf5c5558"
-dependencies = [
- "regex-automata 0.1.10",
-]
-
-[[package]]
-name = "memchr"
-version = "2.5.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "2dffe52ecf27772e601905b7522cb4ef790d2cc203488bbd0e2fe85fcb74566d"
-
-[[package]]
-name = "metal"
-version = "0.26.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "623b5e6cefd76e58f774bd3cc0c6f5c7615c58c03a97815245a25c3c9bdee318"
-dependencies = [
- "bitflags 2.4.0",
- "block",
- "core-graphics-types",
- "foreign-types 0.5.0",
- "log",
- "objc",
- "paste",
-]
-
-[[package]]
-name = "minimal-lexical"
-version = "0.2.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "68354c5c6bd36d73ff3feceb05efa59b6acb7626617f4962be322a825e61f79a"
-
-[[package]]
-name = "miniz_oxide"
-version = "0.7.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e7810e0be55b428ada41041c41f32c9f1a42817901b4ccf45fa3d4b6561e74c7"
-dependencies = [
- "adler",
- "simd-adler32",
-]
-
-[[package]]
-name = "mio"
-version = "0.8.8"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "927a765cd3fc26206e66b296465fa9d3e5ab003e651c1b3c060e7956d96b19d2"
-dependencies = [
- "libc",
- "log",
- "wasi",
- "windows-sys 0.48.0",
-]
-
-[[package]]
-name = "naga"
-version = "0.13.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c1ceaaa4eedaece7e4ec08c55c640ba03dbb73fb812a6570a59bcf1930d0f70e"
-dependencies = [
- "bit-set",
- "bitflags 2.4.0",
- "codespan-reporting",
- "hexf-parse",
- "indexmap 1.9.3",
- "log",
- "num-traits",
- "pp-rs",
- "rustc-hash",
- "spirv",
- "termcolor",
- "thiserror",
- "unicode-xid",
-]
-
-[[package]]
-name = "naga_oil"
-version = "0.10.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "4ac54c77b3529887f9668d3dd81e955e58f252b31a333f836e3548c06460b958"
-dependencies = [
- "bit-set",
- "codespan-reporting",
- "data-encoding",
- "indexmap 1.9.3",
- "naga",
- "once_cell",
- "regex",
- "regex-syntax 0.7.4",
- "rustc-hash",
- "thiserror",
- "tracing",
- "unicode-ident",
-]
-
-[[package]]
-name = "ndk"
-version = "0.7.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "451422b7e4718271c8b5b3aadf5adedba43dc76312454b387e98fae0fc951aa0"
-dependencies = [
- "bitflags 1.3.2",
- "jni-sys",
- "ndk-sys",
- "num_enum 0.5.11",
- "raw-window-handle",
- "thiserror",
-]
-
-[[package]]
-name = "ndk-context"
-version = "0.1.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "27b02d87554356db9e9a873add8782d4ea6e3e58ea071a9adb9a2e8ddb884a8b"
-
-[[package]]
-name = "ndk-sys"
-version = "0.4.1+23.1.7779620"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "3cf2aae958bd232cac5069850591667ad422d263686d75b52a065f9badeee5a3"
-dependencies = [
- "jni-sys",
-]
-
-[[package]]
-name = "nix"
-version = "0.24.3"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "fa52e972a9a719cecb6864fb88568781eb706bac2cd1d4f04a648542dbf78069"
-dependencies = [
- "bitflags 1.3.2",
- "cfg-if",
- "libc",
-]
-
-[[package]]
-name = "nix"
-version = "0.27.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "2eb04e9c688eff1c89d72b407f168cf79bb9e867a9d3323ed6c01519eb9cc053"
-dependencies = [
- "bitflags 2.4.0",
- "cfg-if",
- "libc",
-]
-
-[[package]]
-name = "nom"
-version = "7.1.3"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d273983c5a657a70a3e8f2a01329822f3b8c8172b73826411a55751e404a0a4a"
-dependencies = [
- "memchr",
- "minimal-lexical",
-]
-
-[[package]]
-name = "nonmax"
-version = "0.5.4"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "6e4a593ea4fffed8684ad13d75c82cf0b6dc2b88947e0ed85b9e70f555a7e422"
-
-[[package]]
-name = "ntapi"
-version = "0.4.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e8a3895c6391c39d7fe7ebc444a87eb2991b2a0bc718fdabd071eec617fc68e4"
-dependencies = [
- "winapi",
-]
+checksum = "4fff74096e71ed47f8e023204cfd0aa1289cd54ae5430a9523be060cdb849964"
[[package]]
-name = "nu-ansi-term"
-version = "0.46.0"
+name = "futures-lite"
+version = "1.13.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "77a8165726e8236064dbb45459242600304b42a5ea24ee2948e18e023bf7ba84"
+checksum = "49a9d51ce47660b1e808d3c990b4709f2f415d928835a17dfd16991515c46bce"
dependencies = [
- "overload",
- "winapi",
+ "fastrand",
+ "futures-core",
+ "futures-io",
+ "memchr",
+ "parking",
+ "pin-project-lite",
+ "waker-fn",
]
[[package]]
-name = "num-derive"
-version = "0.3.3"
+name = "generic-array"
+version = "0.14.7"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "876a53fff98e03a936a674b29568b0e605f06b29372c2489ff4de23f1949743d"
+checksum = "85649ca51fd72272d7821adaf274ad91c288277713d9c18820d8499a7ff69e9a"
dependencies = [
- "proc-macro2",
- "quote",
- "syn 1.0.109",
+ "typenum",
+ "version_check",
]
[[package]]
-name = "num-integer"
-version = "0.1.45"
+name = "getrandom"
+version = "0.2.10"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "225d3389fb3509a24c93f5c29eb6bde2586b98d9f016636dff58d7c6f7569cd9"
+checksum = "be4136b2a15dd319360be1c07d9933517ccf0be8f16bf62a3bee4f0d618df427"
dependencies = [
- "autocfg",
- "num-traits",
+ "cfg-if",
+ "js-sys",
+ "libc",
+ "wasi",
+ "wasm-bindgen",
]
[[package]]
-name = "num-rational"
-version = "0.4.1"
+name = "glam"
+version = "0.24.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "0638a1c9d0a3c0914158145bc76cff373a75a627e6ecbfb71cbe6f453a5a19b0"
+checksum = "b5418c17512bdf42730f9032c74e1ae39afc408745ebb2acf72fbc4691c17945"
dependencies = [
- "autocfg",
- "num-integer",
- "num-traits",
+ "bytemuck",
+ "serde",
]
[[package]]
-name = "num-traits"
-version = "0.2.16"
+name = "hashbrown"
+version = "0.14.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f30b0abd723be7e2ffca1272140fac1a2f084c77ec3e123c192b66af1ee9e6c2"
+checksum = "2c6201b9ff9fd90a5a3bac2e56a830d0caa509576f0e503818ee82c181b3437a"
dependencies = [
- "autocfg",
+ "ahash",
+ "allocator-api2",
+ "serde",
]
[[package]]
-name = "num_enum"
-version = "0.5.11"
+name = "idna"
+version = "0.4.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1f646caf906c20226733ed5b1374287eb97e3c2a5c227ce668c1f2ce20ae57c9"
+checksum = "7d20d6b07bfbc108882d88ed8e37d39636dcc260e15e30c45e6ba089610b917c"
dependencies = [
- "num_enum_derive 0.5.11",
+ "unicode-bidi",
+ "unicode-normalization",
]
[[package]]
-name = "num_enum"
-version = "0.6.1"
+name = "indexmap"
+version = "2.0.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7a015b430d3c108a207fd776d2e2196aaf8b1cf8cf93253e3a097ff3085076a1"
+checksum = "d5477fe2230a79769d8dc68e0eabf5437907c0457a5614a9e8dddb67f65eb65d"
dependencies = [
- "num_enum_derive 0.6.1",
+ "equivalent",
+ "hashbrown",
]
[[package]]
-name = "num_enum_derive"
-version = "0.5.11"
+name = "instant"
+version = "0.1.12"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "dcbff9bc912032c62bf65ef1d5aea88983b420f4f839db1e9b0c281a25c9c799"
+checksum = "7a5bbe824c507c5da5956355e86a746d82e0e1464f65d862cc5e71da70e94b2c"
dependencies = [
- "proc-macro-crate",
- "proc-macro2",
- "quote",
- "syn 1.0.109",
+ "cfg-if",
+ "js-sys",
+ "wasm-bindgen",
+ "web-sys",
]
[[package]]
-name = "num_enum_derive"
-version = "0.6.1"
+name = "itoa"
+version = "1.0.9"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "96667db765a921f7b295ffee8b60472b686a51d4f21c2ee4ffdb94c7013b65a6"
-dependencies = [
- "proc-macro-crate",
- "proc-macro2",
- "quote",
- "syn 2.0.29",
-]
+checksum = "af150ab688ff2122fcef229be89cb50dd66af9e01a4ff320cc137eecc9bacc38"
[[package]]
-name = "objc"
-version = "0.2.7"
+name = "js-sys"
+version = "0.3.65"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "915b1b472bc21c53464d6c8461c9d3af805ba1ef837e1cac254428f4a77177b1"
+checksum = "54c0c35952f67de54bb584e9fd912b3023117cbafc0a77d8f3dee1fb5f572fe8"
dependencies = [
- "malloc_buf",
- "objc_exception",
+ "wasm-bindgen",
]
[[package]]
-name = "objc-sys"
-version = "0.2.0-beta.2"
+name = "lazy_static"
+version = "1.4.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "df3b9834c1e95694a05a828b59f55fa2afec6288359cda67146126b3f90a55d7"
+checksum = "e2abad23fbc42b3700f2f279844dc832adb2b2eb069b2df918f455c4e18cc646"
[[package]]
-name = "objc2"
-version = "0.3.0-beta.3.patch-leaks.3"
+name = "libc"
+version = "0.2.147"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7e01640f9f2cb1220bbe80325e179e532cb3379ebcd1bf2279d703c19fe3a468"
-dependencies = [
- "block2",
- "objc-sys",
- "objc2-encode",
-]
+checksum = "b4668fb0ea861c1df094127ac5f1da3409a82116a4ba74fca2e58ef927159bb3"
[[package]]
-name = "objc2-encode"
-version = "2.0.0-pre.2"
+name = "log"
+version = "0.4.20"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "abfcac41015b00a120608fdaa6938c44cb983fee294351cc4bac7638b4e50512"
-dependencies = [
- "objc-sys",
-]
+checksum = "b5e6163cb8c49088c2c36f57875e58ccd8c87c7427f7fbd50ea6710b2f3f2e8f"
[[package]]
-name = "objc_exception"
-version = "0.1.2"
+name = "matchers"
+version = "0.1.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ad970fb455818ad6cba4c122ad012fae53ae8b4795f86378bce65e4f6bab2ca4"
+checksum = "8263075bb86c5a1b1427b5ae862e8889656f126e9f77c484496e8b47cf5c5558"
dependencies = [
- "cc",
+ "regex-automata 0.1.10",
]
[[package]]
-name = "object"
-version = "0.32.0"
+name = "memchr"
+version = "2.5.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "77ac5bbd07aea88c60a577a1ce218075ffd59208b2d7ca97adf9bfc5aeb21ebe"
-dependencies = [
- "memchr",
-]
+checksum = "2dffe52ecf27772e601905b7522cb4ef790d2cc203488bbd0e2fe85fcb74566d"
[[package]]
-name = "oboe"
-version = "0.5.0"
+name = "nonmax"
+version = "0.5.4"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "8868cc237ee02e2d9618539a23a8d228b9bb3fc2e7a5b11eed3831de77c395d0"
-dependencies = [
- "jni 0.20.0",
- "ndk",
- "ndk-context",
- "num-derive",
- "num-traits",
- "oboe-sys",
-]
+checksum = "6e4a593ea4fffed8684ad13d75c82cf0b6dc2b88947e0ed85b9e70f555a7e422"
[[package]]
-name = "oboe-sys"
-version = "0.5.0"
+name = "ntapi"
+version = "0.4.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7f44155e7fb718d3cfddcf70690b2b51ac4412f347cd9e4fbe511abe9cd7b5f2"
+checksum = "e8a3895c6391c39d7fe7ebc444a87eb2991b2a0bc718fdabd071eec617fc68e4"
dependencies = [
- "cc",
+ "winapi",
]
[[package]]
-name = "ogg"
-version = "0.8.0"
+name = "nu-ansi-term"
+version = "0.46.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "6951b4e8bf21c8193da321bcce9c9dd2e13c858fe078bf9054a288b419ae5d6e"
+checksum = "77a8165726e8236064dbb45459242600304b42a5ea24ee2948e18e023bf7ba84"
dependencies = [
- "byteorder",
+ "overload",
+ "winapi",
]
[[package]]
@@ 2575,71 766,18 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "dd8b5dd2ae5ed71462c540258bedcb51965123ad7e7ccf4b9a8cafaa4a63576d"
[[package]]
-name = "orbclient"
-version = "0.3.47"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "52f0d54bde9774d3a51dcf281a5def240c71996bc6ca05d2c847ec8b2b216166"
-dependencies = [
- "libredox",
-]
-
-[[package]]
name = "overload"
version = "0.1.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "b15813163c1d831bf4a13c3610c05c0d03b39feb07f7e09fa234dac9b15aaf39"
[[package]]
-name = "owned_ttf_parser"
-version = "0.20.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d4586edfe4c648c71797a74c84bacb32b52b212eff5dfe2bb9f2c599844023e7"
-dependencies = [
- "ttf-parser",
-]
-
-[[package]]
name = "parking"
version = "2.1.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "14f2252c834a40ed9bb5422029649578e63aa341ac401f74e719dd1afda8394e"
[[package]]
-name = "parking_lot"
-version = "0.12.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "3742b2c103b9f06bc9fff0a37ff4912935851bee6d36f3c02bcc755bcfec228f"
-dependencies = [
- "lock_api",
- "parking_lot_core",
-]
-
-[[package]]
-name = "parking_lot_core"
-version = "0.9.8"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "93f00c865fe7cabf650081affecd3871070f26767e7b2070a3ffae14c654b447"
-dependencies = [
- "cfg-if",
- "libc",
- "redox_syscall 0.3.5",
- "smallvec",
- "windows-targets 0.48.5",
-]
-
-[[package]]
-name = "paste"
-version = "1.0.14"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "de3145af08024dea9fa9914f381a17b8fc6034dfb00f3a84013f7ff43f29ed4c"
-
-[[package]]
-name = "peeking_take_while"
-version = "0.1.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "19b17cddbe7ec3f8bc800887bab5e717348c95ea2ca0b1bf0837fb964dc67099"
-
-[[package]]
name = "percent-encoding"
version = "2.3.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
@@ 2652,7 790,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "e1d3afd2628e69da2be385eb6f2fd57c8ac7977ceeff6dc166ff1657b0e386a9"
dependencies = [
"fixedbitset",
- "indexmap 2.0.0",
+ "indexmap",
]
[[package]]
@@ 2662,50 800,12 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "12cc1b0bf1727a77a54b6654e7b5f1af8604923edc8b81885f8ec92f9e3f0a05"
[[package]]
-name = "pkg-config"
-version = "0.3.27"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "26072860ba924cbfa98ea39c8c19b4dd6a4a25423dbdf219c1eca91aa0cf6964"
-
-[[package]]
-name = "png"
-version = "0.17.10"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "dd75bf2d8dd3702b9707cdbc56a5b9ef42cec752eb8b3bafc01234558442aa64"
-dependencies = [
- "bitflags 1.3.2",
- "crc32fast",
- "fdeflate",
- "flate2",
- "miniz_oxide",
-]
-
-[[package]]
-name = "pp-rs"
-version = "0.2.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "bb458bb7f6e250e6eb79d5026badc10a3ebb8f9a15d1fff0f13d17c71f4d6dee"
-dependencies = [
- "unicode-xid",
-]
-
-[[package]]
name = "ppv-lite86"
version = "0.2.17"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "5b40af805b3121feab8a3c29f04d8ad262fa8e0561883e7653e024ae4479e6de"
[[package]]
-name = "proc-macro-crate"
-version = "1.3.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7f4c021e1093a56626774e81216a4ce732a735e5bad4868a03f3ed65ca0c3919"
-dependencies = [
- "once_cell",
- "toml_edit 0.19.14",
-]
-
-[[package]]
name = "proc-macro2"
version = "1.0.66"
source = "registry+https://github.com/rust-lang/crates.io-index"
@@ 2715,12 815,6 @@ dependencies = [
]
[[package]]
-name = "profiling"
-version = "1.0.11"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f89dff0959d98c9758c88826cc002e2c3d0b9dfac4139711d1f30de442f1139b"
-
-[[package]]
name = "quote"
version = "1.0.33"
source = "registry+https://github.com/rust-lang/crates.io-index"
@@ 2730,12 824,6 @@ dependencies = [
]
[[package]]
-name = "radsort"
-version = "0.1.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "17fd96390ed3feda12e1dfe2645ed587e0bea749e319333f104a33ff62f77a0b"
-
-[[package]]
name = "rand"
version = "0.8.5"
source = "registry+https://github.com/rust-lang/crates.io-index"
@@ 2766,42 854,12 @@ dependencies = [
]
[[package]]
-name = "range-alloc"
-version = "0.1.3"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "9c8a99fddc9f0ba0a85884b8d14e3592853e787d581ca1816c91349b10e4eeab"
-
-[[package]]
name = "raw-window-handle"
version = "0.5.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "f2ff9a1f06a88b01621b7ae906ef0211290d1c8a168a15542486a8f61c0833b9"
[[package]]
-name = "rectangle-pack"
-version = "0.4.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a0d463f2884048e7153449a55166f91028d5b0ea53c79377099ce4e8cf0cf9bb"
-
-[[package]]
-name = "redox_syscall"
-version = "0.3.5"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "567664f262709473930a4bf9e51bf2ebf3348f2e748ccc50dea20646858f8f29"
-dependencies = [
- "bitflags 1.3.2",
-]
-
-[[package]]
-name = "redox_syscall"
-version = "0.4.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "4722d768eff46b75989dd134e5c353f0d6296e5aaa3132e776cbdb56be7731aa"
-dependencies = [
- "bitflags 1.3.2",
-]
-
-[[package]]
name = "regex"
version = "1.9.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
@@ 2846,100 904,18 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "e5ea92a5b6195c6ef2a0295ea818b312502c6fc94dde986c5553242e18fd4ce2"
[[package]]
-name = "renderdoc-sys"
-version = "1.0.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "216080ab382b992234dda86873c18d4c48358f5cfcb70fd693d7f6f2131b628b"
-
-[[package]]
-name = "rmp"
-version = "0.8.12"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7f9860a6cc38ed1da53456442089b4dfa35e7cedaa326df63017af88385e6b20"
-dependencies = [
- "byteorder",
- "num-traits",
- "paste",
-]
-
-[[package]]
-name = "rmp-serde"
-version = "1.1.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "bffea85eea980d8a74453e5d02a8d93028f3c34725de143085a844ebe953258a"
-dependencies = [
- "byteorder",
- "rmp",
- "serde",
-]
-
-[[package]]
-name = "rodio"
-version = "0.17.3"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "3b1bb7b48ee48471f55da122c0044fcc7600cfcc85db88240b89cb832935e611"
-dependencies = [
- "cpal",
- "lewton",
-]
-
-[[package]]
-name = "ron"
-version = "0.8.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b91f7eff05f748767f183df4320a63d6936e9c6107d97c9e6bdd9784f4289c94"
-dependencies = [
- "base64 0.21.2",
- "bitflags 2.4.0",
- "serde",
- "serde_derive",
-]
-
-[[package]]
-name = "rustc-demangle"
-version = "0.1.23"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d626bb9dae77e28219937af045c257c28bfd3f69333c512553507f5f9798cb76"
-
-[[package]]
name = "rustc-hash"
version = "1.1.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "08d43f7aa6b08d49f382cde6a7982047c3426db949b1424bc4b7ec9ae12c6ce2"
[[package]]
-name = "ruzstd"
-version = "0.4.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ac3ffab8f9715a0d455df4bbb9d21e91135aab3cd3ca187af0cd0c3c3f868fdc"
-dependencies = [
- "byteorder",
- "thiserror-core",
- "twox-hash",
-]
-
-[[package]]
name = "ryu"
version = "1.0.15"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "1ad4cc8da4ef723ed60bced201181d83791ad433213d8c24efffda1eec85d741"
[[package]]
-name = "same-file"
-version = "1.0.6"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "93fc1dc3aaa9bfed95e02e6eadabb4baf7e3078b0bd1b4d7b6b0b68378900502"
-dependencies = [
- "winapi-util",
-]
-
-[[package]]
-name = "scopeguard"
-version = "1.2.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "94143f37725109f92c262ed2cf5e59bce7498c01bcc1502d7b9afe439a4e9f49"
-
-[[package]]
name = "serde"
version = "1.0.192"
source = "registry+https://github.com/rust-lang/crates.io-index"
@@ 2956,14 932,14 @@ checksum = "d6c7207fbec9faa48073f3e3074cbe553af6ea512d7c21ba46e434e70ea9fbc1"
dependencies = [
"proc-macro2",
"quote",
- "syn 2.0.29",
+ "syn",
]
[[package]]
name = "serde_json"
-version = "1.0.105"
+version = "1.0.108"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "693151e1ac27563d6dbcec9dee9fbd5da8539b20fa14ad3752b2e6d363ace360"
+checksum = "3d1c7e3eac408d115102c4c24ad393e0821bb3a5df4d506a80f85f7a742a526b"
dependencies = [
"itoa",
"ryu",
@@ 2991,18 967,6 @@ dependencies = [
]
[[package]]
-name = "shlex"
-version = "1.2.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a7cee0529a6d40f580e7a5e6c495c8fbfe21b7b52795ed4bb5e62cdf92bc6380"
-
-[[package]]
-name = "simd-adler32"
-version = "0.3.7"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d66dc143e6b11c1eddc06d5c423cfc97062865baf299914ab64caa38182078fe"
-
-[[package]]
name = "slab"
version = "0.4.9"
source = "registry+https://github.com/rust-lang/crates.io-index"
@@ 3012,15 976,6 @@ dependencies = [
]
[[package]]
-name = "slotmap"
-version = "1.0.6"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e1e08e261d0e8f5c43123b7adf3e4ca1690d655377ac93a03b2c9d3e98de1342"
-dependencies = [
- "version_check",
-]
-
-[[package]]
name = "smallvec"
version = "1.11.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
@@ 3030,22 985,12 @@ dependencies = [
]
[[package]]
-name = "smol_str"
-version = "0.2.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "74212e6bbe9a4352329b2f68ba3130c15a3f26fe88ff22dbdc6cdd58fa85e99c"
-dependencies = [
- "serde",
-]
-
-[[package]]
-name = "spirv"
-version = "0.2.0+1.5.4"
+name = "smol_str"
+version = "0.2.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "246bfa38fe3db3f1dfc8ca5a2cdeb7348c78be2112740cc0ec8ef18b6d94f830"
+checksum = "74212e6bbe9a4352329b2f68ba3130c15a3f26fe88ff22dbdc6cdd58fa85e99c"
dependencies = [
- "bitflags 1.3.2",
- "num-traits",
+ "serde",
]
[[package]]
@@ 3054,36 999,12 @@ version = "0.0.1"
dependencies = [
"bevy",
"bevy_twite",
- "rmp",
- "rmp-serde",
"serde",
+ "serde_json",
"tracing-subscriber",
]
[[package]]
-name = "static_assertions"
-version = "1.1.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a2eb9349b6444b326872e140eb1cf5e7c522154d69e7a0ffb0fb81c06b37543f"
-
-[[package]]
-name = "svg_fmt"
-version = "0.4.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "8fb1df15f412ee2e9dfc1c504260fa695c1c3f10fe9f4a6ee2d2184d7d6450e2"
-
-[[package]]
-name = "syn"
-version = "1.0.109"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "72b64191b275b66ffe2469e8af2c1cfe3bafa67b529ead792a6d0160888b4237"
-dependencies = [
- "proc-macro2",
- "quote",
- "unicode-ident",
-]
-
-[[package]]
name = "syn"
version = "2.0.29"
source = "registry+https://github.com/rust-lang/crates.io-index"
@@ 3109,27 1030,6 @@ dependencies = [
]
[[package]]
-name = "taffy"
-version = "0.3.18"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "3c2287b6d7f721ada4cddf61ade5e760b2c6207df041cac9bfaa192897362fd3"
-dependencies = [
- "arrayvec",
- "grid",
- "num-traits",
- "slotmap",
-]
-
-[[package]]
-name = "termcolor"
-version = "1.4.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ff1bc3d3f05aff0403e8ac0d92ced918ec05b666a43f83297ccef5bea8a3d449"
-dependencies = [
- "winapi-util",
-]
-
-[[package]]
name = "thiserror"
version = "1.0.47"
source = "registry+https://github.com/rust-lang/crates.io-index"
@@ 3139,26 1039,6 @@ dependencies = [
]
[[package]]
-name = "thiserror-core"
-version = "1.0.38"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "0d97345f6437bb2004cd58819d8a9ef8e36cdd7661c2abc4bbde0a7c40d9f497"
-dependencies = [
- "thiserror-core-impl",
-]
-
-[[package]]
-name = "thiserror-core-impl"
-version = "1.0.38"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "10ac1c5050e43014d16b2f94d0d2ce79e65ffdd8b38d8048f9c8f6a8a6da62ac"
-dependencies = [
- "proc-macro2",
- "quote",
- "syn 1.0.109",
-]
-
-[[package]]
name = "thiserror-impl"
version = "1.0.47"
source = "registry+https://github.com/rust-lang/crates.io-index"
@@ 3166,7 1046,7 @@ checksum = "6bb623b56e39ab7dcd4b1b98bb6c8f8d907ed255b18de254088016b27a8ee19b"
dependencies = [
"proc-macro2",
"quote",
- "syn 2.0.29",
+ "syn",
]
[[package]]
@@ 3202,22 1082,11 @@ checksum = "3550f4e9685620ac18a50ed434eb3aec30db8ba93b0287467bca5826ea25baf1"
[[package]]
name = "toml_edit"
-version = "0.19.14"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f8123f27e969974a3dfba720fdb560be359f57b44302d280ba72e76a74480e8a"
-dependencies = [
- "indexmap 2.0.0",
- "toml_datetime",
- "winnow",
-]
-
-[[package]]
-name = "toml_edit"
version = "0.20.7"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "70f427fce4d84c72b5b732388bf4a9f4531b53f74e2887e3ecb2481f68f66d81"
dependencies = [
- "indexmap 2.0.0",
+ "indexmap",
"toml_datetime",
"winnow",
]
@@ 3242,7 1111,7 @@ checksum = "5f4f31f56159e98206da9efd823404b79b6ef3143b4a7ab76e67b1751b25a4ab"
dependencies = [
"proc-macro2",
"quote",
- "syn 2.0.29",
+ "syn",
]
[[package]]
@@ 3296,33 1165,17 @@ dependencies = [
]
[[package]]
-name = "ttf-parser"
-version = "0.20.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "17f77d76d837a7830fe1d4f12b7b4ba4192c1888001c7164257e4bc6d21d96b4"
-
-[[package]]
name = "twite"
version = "0.1.0"
source = "git+https://gitlab.com/ghostlyzsh/twite.git#6d54f37b7c392d2df993ee1cae2064b7ac410da7"
dependencies = [
- "base64 0.21.2",
+ "base64",
"rand",
"sha1",
"url",
]
[[package]]
-name = "twox-hash"
-version = "1.6.3"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "97fee6b57c6a41524a810daee9286c02d7752c4253064d0b05472833a438f675"
-dependencies = [
- "cfg-if",
- "static_assertions",
-]
-
-[[package]]
name = "typenum"
version = "1.16.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
@@ 3350,18 1203,6 @@ dependencies = [
]
[[package]]
-name = "unicode-width"
-version = "0.1.11"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e51733f11c9c4f72aa0c160008246859e340b00807569a0da0e7a1079b27ba85"
-
-[[package]]
-name = "unicode-xid"
-version = "0.2.4"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f962df74c8c05a667b5ee8bcf162993134c104e96440b663c8daa176dc772d8c"
-
-[[package]]
name = "url"
version = "2.4.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
@@ 3389,12 1230,6 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "830b7e5d4d90034032940e4ace0d9a9a057e7a45cd94e6c007832e39edb82f6d"
[[package]]
-name = "vec_map"
-version = "0.8.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f1bddf1187be692e79c5ffeab891132dfb0f236ed36a43c7ed39f1165ee20191"
-
-[[package]]
name = "version_check"
version = "0.9.4"
source = "registry+https://github.com/rust-lang/crates.io-index"
@@ 3407,16 1242,6 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "9d5b2c62b4012a3e1eca5a7e077d13b3bf498c4073e33ccd58626607748ceeca"
[[package]]
-name = "walkdir"
-version = "2.3.3"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "36df944cda56c7d8d8b7496af378e6b16de9284591917d307c9b4d313c44e698"
-dependencies = [
- "same-file",
- "winapi-util",
-]
-
-[[package]]
name = "wasi"
version = "0.11.0+wasi-snapshot-preview1"
source = "registry+https://github.com/rust-lang/crates.io-index"
@@ 3443,7 1268,7 @@ dependencies = [
"once_cell",
"proc-macro2",
"quote",
- "syn 2.0.29",
+ "syn",
"wasm-bindgen-shared",
]
@@ 3477,7 1302,7 @@ checksum = "c5353b8dab669f5e10f5bd76df26a9360c748f054f862ff5f3f8aae0c7fb3907"
dependencies = [
"proc-macro2",
"quote",
- "syn 2.0.29",
+ "syn",
"wasm-bindgen-backend",
"wasm-bindgen-shared",
]
@@ 3489,17 1314,6 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "0d046c5d029ba91a1ed14da14dca44b68bf2f124cfbaf741c54151fdb3e0750b"
[[package]]
-name = "wayland-scanner"
-version = "0.29.5"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "8f4303d8fa22ab852f789e75a967f0a2cdc430a607751c0499bada3e451cbd53"
-dependencies = [
- "proc-macro2",
- "quote",
- "xml-rs",
-]
-
-[[package]]
name = "web-sys"
version = "0.3.65"
source = "registry+https://github.com/rust-lang/crates.io-index"
@@ 3510,111 1324,6 @@ dependencies = [
]
[[package]]
-name = "wgpu"
-version = "0.17.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "752e44d3998ef35f71830dd1ad3da513e628e2e4d4aedb0ab580f850827a0b41"
-dependencies = [
- "arrayvec",
- "cfg-if",
- "js-sys",
- "log",
- "naga",
- "parking_lot",
- "profiling",
- "raw-window-handle",
- "smallvec",
- "static_assertions",
- "wasm-bindgen",
- "wasm-bindgen-futures",
- "web-sys",
- "wgpu-core",
- "wgpu-hal",
- "wgpu-types",
-]
-
-[[package]]
-name = "wgpu-core"
-version = "0.17.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "0f8a44dd301a30ceeed3c27d8c0090433d3da04d7b2a4042738095a424d12ae7"
-dependencies = [
- "arrayvec",
- "bit-vec",
- "bitflags 2.4.0",
- "codespan-reporting",
- "log",
- "naga",
- "parking_lot",
- "profiling",
- "raw-window-handle",
- "rustc-hash",
- "smallvec",
- "thiserror",
- "web-sys",
- "wgpu-hal",
- "wgpu-types",
-]
-
-[[package]]
-name = "wgpu-hal"
-version = "0.17.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "9a80bf0e3c77399bb52850cb0830af9bad073d5cfcb9dd8253bef8125c42db17"
-dependencies = [
- "android_system_properties",
- "arrayvec",
- "ash",
- "bit-set",
- "bitflags 2.4.0",
- "block",
- "core-graphics-types",
- "d3d12",
- "glow",
- "gpu-alloc",
- "gpu-allocator",
- "gpu-descriptor",
- "hassle-rs",
- "js-sys",
- "khronos-egl",
- "libc",
- "libloading 0.8.1",
- "log",
- "metal",
- "naga",
- "objc",
- "parking_lot",
- "profiling",
- "range-alloc",
- "raw-window-handle",
- "renderdoc-sys",
- "rustc-hash",
- "smallvec",
- "thiserror",
- "wasm-bindgen",
- "web-sys",
- "wgpu-types",
- "winapi",
-]
-
-[[package]]
-name = "wgpu-types"
-version = "0.17.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ee64d7398d0c2f9ca48922c902ef69c42d000c759f3db41e355f4a570b052b67"
-dependencies = [
- "bitflags 2.4.0",
- "js-sys",
- "web-sys",
-]
-
-[[package]]
-name = "widestring"
-version = "1.0.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "653f141f39ec16bba3c5abe400a0c60da7468261cc2cbf36805022876bc721a8"
-
-[[package]]
name = "winapi"
version = "0.3.9"
source = "registry+https://github.com/rust-lang/crates.io-index"
@@ 3631,234 1340,12 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "ac3b87c63620426dd9b991e5ce0329eff545bccbbb34f3be09ff6fb6ab51b7b6"
[[package]]
-name = "winapi-util"
-version = "0.1.5"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "70ec6ce85bb158151cae5e5c87f95a8e97d2c0c4b001223f33a334e3ce5de178"
-dependencies = [
- "winapi",
-]
-
-[[package]]
name = "winapi-x86_64-pc-windows-gnu"
version = "0.4.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f"
[[package]]
-name = "windows"
-version = "0.44.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "9e745dab35a0c4c77aa3ce42d595e13d2003d6902d6b08c9ef5fc326d08da12b"
-dependencies = [
- "windows-targets 0.42.2",
-]
-
-[[package]]
-name = "windows"
-version = "0.46.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "cdacb41e6a96a052c6cb63a144f24900236121c6f63f4f8219fef5977ecb0c25"
-dependencies = [
- "windows-targets 0.42.2",
-]
-
-[[package]]
-name = "windows"
-version = "0.48.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e686886bc078bc1b0b600cac0147aadb815089b6e4da64016cbd754b6342700f"
-dependencies = [
- "windows-implement",
- "windows-interface",
- "windows-targets 0.48.5",
-]
-
-[[package]]
-name = "windows-implement"
-version = "0.48.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5e2ee588991b9e7e6c8338edf3333fbe4da35dc72092643958ebb43f0ab2c49c"
-dependencies = [
- "proc-macro2",
- "quote",
- "syn 1.0.109",
-]
-
-[[package]]
-name = "windows-interface"
-version = "0.48.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e6fb8df20c9bcaa8ad6ab513f7b40104840c8867d5751126e4df3b08388d0cc7"
-dependencies = [
- "proc-macro2",
- "quote",
- "syn 1.0.109",
-]
-
-[[package]]
-name = "windows-sys"
-version = "0.45.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "75283be5efb2831d37ea142365f009c02ec203cd29a3ebecbc093d52315b66d0"
-dependencies = [
- "windows-targets 0.42.2",
-]
-
-[[package]]
-name = "windows-sys"
-version = "0.48.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "677d2418bec65e3338edb076e806bc1ec15693c5d0104683f2efe857f61056a9"
-dependencies = [
- "windows-targets 0.48.5",
-]
-
-[[package]]
-name = "windows-targets"
-version = "0.42.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "8e5180c00cd44c9b1c88adb3693291f1cd93605ded80c250a75d472756b4d071"
-dependencies = [
- "windows_aarch64_gnullvm 0.42.2",
- "windows_aarch64_msvc 0.42.2",
- "windows_i686_gnu 0.42.2",
- "windows_i686_msvc 0.42.2",
- "windows_x86_64_gnu 0.42.2",
- "windows_x86_64_gnullvm 0.42.2",
- "windows_x86_64_msvc 0.42.2",
-]
-
-[[package]]
-name = "windows-targets"
-version = "0.48.5"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "9a2fa6e2155d7247be68c096456083145c183cbbbc2764150dda45a87197940c"
-dependencies = [
- "windows_aarch64_gnullvm 0.48.5",
- "windows_aarch64_msvc 0.48.5",
- "windows_i686_gnu 0.48.5",
- "windows_i686_msvc 0.48.5",
- "windows_x86_64_gnu 0.48.5",
- "windows_x86_64_gnullvm 0.48.5",
- "windows_x86_64_msvc 0.48.5",
-]
-
-[[package]]
-name = "windows_aarch64_gnullvm"
-version = "0.42.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "597a5118570b68bc08d8d59125332c54f1ba9d9adeedeef5b99b02ba2b0698f8"
-
-[[package]]
-name = "windows_aarch64_gnullvm"
-version = "0.48.5"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "2b38e32f0abccf9987a4e3079dfb67dcd799fb61361e53e2882c3cbaf0d905d8"
-
-[[package]]
-name = "windows_aarch64_msvc"
-version = "0.42.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e08e8864a60f06ef0d0ff4ba04124db8b0fb3be5776a5cd47641e942e58c4d43"
-
-[[package]]
-name = "windows_aarch64_msvc"
-version = "0.48.5"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "dc35310971f3b2dbbf3f0690a219f40e2d9afcf64f9ab7cc1be722937c26b4bc"
-
-[[package]]
-name = "windows_i686_gnu"
-version = "0.42.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c61d927d8da41da96a81f029489353e68739737d3beca43145c8afec9a31a84f"
-
-[[package]]
-name = "windows_i686_gnu"
-version = "0.48.5"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a75915e7def60c94dcef72200b9a8e58e5091744960da64ec734a6c6e9b3743e"
-
-[[package]]
-name = "windows_i686_msvc"
-version = "0.42.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "44d840b6ec649f480a41c8d80f9c65108b92d89345dd94027bfe06ac444d1060"
-
-[[package]]
-name = "windows_i686_msvc"
-version = "0.48.5"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "8f55c233f70c4b27f66c523580f78f1004e8b5a8b659e05a4eb49d4166cca406"
-
-[[package]]
-name = "windows_x86_64_gnu"
-version = "0.42.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "8de912b8b8feb55c064867cf047dda097f92d51efad5b491dfb98f6bbb70cb36"
-
-[[package]]
-name = "windows_x86_64_gnu"
-version = "0.48.5"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "53d40abd2583d23e4718fddf1ebec84dbff8381c07cae67ff7768bbf19c6718e"
-
-[[package]]
-name = "windows_x86_64_gnullvm"
-version = "0.42.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "26d41b46a36d453748aedef1486d5c7a85db22e56aff34643984ea85514e94a3"
-
-[[package]]
-name = "windows_x86_64_gnullvm"
-version = "0.48.5"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "0b7b52767868a23d5bab768e390dc5f5c55825b6d30b86c844ff2dc7414044cc"
-
-[[package]]
-name = "windows_x86_64_msvc"
-version = "0.42.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "9aec5da331524158c6d1a4ac0ab1541149c0b9505fde06423b02f5ef0106b9f0"
-
-[[package]]
-name = "windows_x86_64_msvc"
-version = "0.48.5"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ed94fce61571a4006852b7389a063ab983c02eb1bb37b47f8272ce92d06d9538"
-
-[[package]]
-name = "winit"
-version = "0.28.7"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "9596d90b45384f5281384ab204224876e8e8bf7d58366d9b795ad99aa9894b94"
-dependencies = [
- "android-activity",
- "bitflags 1.3.2",
- "cfg_aliases",
- "core-foundation",
- "core-graphics",
- "dispatch",
- "instant",
- "libc",
- "log",
- "mio",
- "ndk",
- "objc2",
- "once_cell",
- "orbclient",
- "percent-encoding",
- "raw-window-handle",
- "redox_syscall 0.3.5",
- "wasm-bindgen",
- "wayland-scanner",
- "web-sys",
- "windows-sys 0.45.0",
- "x11-dl",
-]
-
-[[package]]
name = "winnow"
version = "0.5.14"
source = "registry+https://github.com/rust-lang/crates.io-index"
@@ 3866,26 1353,3 @@ checksum = "d09770118a7eb1ccaf4a594a221334119a44a814fcb0d31c5b85e83e97227a97"
dependencies = [
"memchr",
]
-
-[[package]]
-name = "x11-dl"
-version = "2.21.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "38735924fedd5314a6e548792904ed8c6de6636285cb9fec04d5b1db85c1516f"
-dependencies = [
- "libc",
- "once_cell",
- "pkg-config",
-]
-
-[[package]]
-name = "xi-unicode"
-version = "0.3.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a67300977d3dc3f8034dae89778f502b6ba20b269527b3223ba59c0cf393bb8a"
-
-[[package]]
-name = "xml-rs"
-version = "0.8.19"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "0fcb9cbac069e033553e8bb871be2fbdffcab578eb25bd0f7c508cedc6dcd75a"
D client/.gitignore => client/.gitignore +0 -24
@@ 1,24 0,0 @@
-# Logs
-logs
-*.log
-npm-debug.log*
-yarn-debug.log*
-yarn-error.log*
-pnpm-debug.log*
-lerna-debug.log*
-
-node_modules
-dist
-dist-ssr
-*.local
-
-# Editor directories and files
-.vscode/*
-!.vscode/extensions.json
-.idea
-.DS_Store
-*.suo
-*.ntvs*
-*.njsproj
-*.sln
-*.sw?
D client/assets => client/assets +0 -1
@@ 1,1 0,0 @@
-../assets>
\ No newline at end of file
D client/hearty.png => client/hearty.png +0 -0
D client/index.html => client/index.html +0 -119
@@ 1,119 0,0 @@
-<!DOCTYPE html>
-<html lang="en-US">
- <head>
- <meta charset="UTF-8"/>
- <meta name="viewport" content="width=device-width, initial-scale=1.0"/>
- <title>StarKingdoms</title>
- </head>
-
- <body>
- <h1>StarKingdoms</h1>
- <fieldset class="joingamebox">
- <legend>Join Game</legend>
- <form action="/play.html" method="GET">
- <label for="server">Choose server</label>
- <select class="joingamecontent" name="server" id="server">
- <!-- Dynamically filled by the JS later in this file -->
- </select>
- <br>
- <label for="textures">Texture quality</label>
- <select class="joingamecontent" name="textures" id="textures">
- <option value="full">Full quality (May impact loading times)</option>
- <option selected value="375">Medium quality (Recommended)</option>
- <option value="125">Low quality</option>
- </select>
- <br>
- <label for="username">Username</label>
- <br>
- <input class="m-5px" type="text" name="username" id="username" required/>
- <br>
- <button class="m-5px w-full">Launch!</button>
- <br>
- <p id="loginstatus">You are not logged in.</p>
- <button style="display: none;" id="logout">Log out</button>
- <a href="http://localhost:8080/select-realm" id="login">Click here to log in or change accounts.</a>
- </form>
- </fieldset>
-
-
- <script type="module">
- let api_server = "http://localhost:8080";
-
- let servers = [];
-
- function server_url_to_ping_url(server) {
- if(server.endsWith('/')) {
- return server + "ping"
- } else {
- return server + "/ping"
- }
- }
-
- function server_url_to_gateway_url(server) {
- let url = new URL(server);
- if (url.protocol === "https:") {
- return "wss://" + url.host + "/ws";
- } else {
- return "ws://" + url.host + "/ws";
- }
- }
-
- function load_server(server) {
- // ping the server to get server information
- fetch(server_url_to_ping_url(server)).then(response => {
- response.json().then(response => {
- let elem = document.createElement("option");
- elem.value = server_url_to_gateway_url(server);
- elem.text = `${response.description} - ${response.version.name} - ${response.players} online`;
- document.getElementById("server").appendChild(elem);
- })
- })
- }
-
- // load servers from the api
- fetch(`${api_server}/server-list`).then(response => {
- response.json().then(response => {
- servers = response["servers"];
-
- for (let i = 0; i < servers.length; i++) {
- load_server(servers[i]);
- }
- })
- })
-
- let query = new URLSearchParams(window.location.search);
-
- if (query.has("token") && query.has("user")) {
- window.localStorage.setItem("token", query.get("token"));
- window.localStorage.setItem("user", query.get("user"));
- }
-
- if (window.localStorage.getItem("token") !== null && window.localStorage.getItem("user") !== null) {
- document.getElementById("logout").style.setProperty("display", "block");
- document.getElementById("logout").addEventListener("click", () => {
- window.localStorage.clear();
- window.location.reload();
- })
- document.getElementById("loginstatus").innerText = `Logged in! (you are ${window.localStorage.getItem("user")})`;
- }
-
- document.getElementById("login").href = `${api_server}/select-realm`;
- </script>
- </body>
-
- <style>
- .joingamebox {
- width: min-content;
- padding: 10px;
- }
-
- .m-5px {
- margin: 5px;
- }
-
- .w-full {
- width: 100%;
- }
-
- </style>
-</html>
D client/package.json => client/package.json +0 -19
@@ 1,19 0,0 @@
-{
- "name": "starkingdoms-client",
- "private": true,
- "version": "0.0.0",
- "type": "module",
- "scripts": {
- "dev": "vite",
- "build": "tsc && vite build",
- "preview": "vite preview",
- "protobuf": "mkdir -p ./src/protocol && protoc --plugin=./node_modules/.bin/protoc-gen-ts_proto --ts_proto_opt=forceLong=number --ts_proto_out=./src/protocol -I ../protocol/src/pbuf ../protocol/src/pbuf/starkingdoms-protocol.proto && sed -i 's/\\/\\* eslint-disable \\*\\//\\/\\/@ts-nocheck/' src/protocol/*.ts"
- },
- "devDependencies": {
- "ts-proto": "^1.146.0",
- "typescript": "^4.9.3",
- "vite": "^4.2.0"
- },
- "dependencies": {},
- "entry": ["index.html", "play.html"]
-}
D client/play.html => client/play.html +0 -49
@@ 1,49 0,0 @@
-<!DOCTYPE html>
-<html lang="en">
- <head>
- <meta charset="UTF-8" />
- <meta name="viewport" content="width=device-width, initial-scale=1.0" />
- <title>StarKingdoms</title>
- </head>
- <body>
- <script type="module" src="/src/index.ts"></script>
-
- <canvas id="canvas" class="renderbox"></canvas>
-
- <div class="infobox">
- <p id="pos">Position: NaN, NaN</p>
- <p id="vel">Velocity: NaN</p>
- <p id="pos-moon">Relative to Moon: NaN, NaN</p>
- <p id="vel-dir">Track Angle: NaN</p>
- <button style="display: none;" id="beamout">Beam out!</button>
- </div>
- </body>
-
- <style>
- :root {
- --ui-bg-color: gray;
- --ui-padding: 5px;
- }
-
-
- .renderbox {
- position: absolute;
- top: 0;
- left: 0;
- }
-
- body {
- margin: 0;
- padding: 0;
- }
-
- .infobox {
- position: absolute;
- bottom: 0;
- left: calc(50vw - 25%);
- width: 50%;
- background-color: var(--ui-bg-color);
- padding: var(--ui-padding);
- }
- </style>
-</html>
D client/src/gateway.ts => client/src/gateway.ts +0 -175
@@ 1,175 0,0 @@
-import {Logger} from "./logger";
-import {decode, encode} from "./serde";
-import {global} from "./index";
-
-const logger = new Logger("Gateway");
-
-export interface GatewayClient {
- //state: State;
- socket: WebSocket;
- username: string | null;
- version: number | null;
- // @ts-ignore
- ping_timeout: Timeout | null; // i am aware that these types dont exist
- // @ts-ignore
- ping_timeout_left: Timeout; // its fine
-}
-
-/*export interface AttachedModule {
- module_type: ModuleType,
- rotation: number,
- x: number,
- y: number,
- children: Attachment[],
-}*/
-
-export async function gateway_connect(gateway_url: string, username: string): Promise<GatewayClient> {
- logger.info("FAST CONNECT - Connecting to gateway socket at " + gateway_url);
-
- let ws = await _websocket_connect(gateway_url);
-
- logger.debug("[fastconnect] connected to gateway, performing handshake with server");
-
- let client: GatewayClient = {
- //state: State.Handshake,
- socket: ws,
- username: null,
- version: null,
- ping_timeout: null,
- ping_timeout_left: null
- };
-
- client.socket.addEventListener('message', async (msg) => {
- let pkt_info = decode(new Uint8Array(await msg.data.arrayBuffer()));
- let pkt_id = pkt_info[0];
- let pkt_data = pkt_info[1];
-
- if (pkt_id == 0) {
- // not a real message, skip
- return;
- }
-
- if (client.state == State.Handshake) {
- if (pkt_id == MessageS2CHello_packetInfo.type) {
- let pkt = MessageS2CHello.decode(pkt_data);
-
- logger.info(`FAST CONNECT - Handshake finished with server with protocol v${pkt.version}, assigned username ${pkt.givenUsername}, switching to state ${pkt.nextState}`);
-
- client.state = pkt.nextState;
- client.username = pkt.givenUsername;
- client.version = pkt.version;
- } else if (pkt_id == MessageS2CGoodbye_packetInfo.type) {
- let pkt = MessageS2CGoodbye.decode(pkt_data);
-
- logger.error(`Disconnected by server. Reason: ${pkt.reason}`);
-
- client.state = State.Handshake;
- client.username = null;
- client.version = null;
-
- throw "Disconnected by server";
- } else {
- logger.warn(`server sent unexpected packet ${pkt_id} for state Handshake`);
- }
- } else if (client.state == State.Play) {
- if (pkt_id == MessageS2CGoodbye_packetInfo.type) {
- let pkt = MessageS2CGoodbye.decode(pkt_data);
-
- logger.error(`Disconnected by server. Reason: ${pkt.reason}`);
-
- client.state = State.Handshake;
- client.username = null;
- client.version = null;
-
- throw "Disconnected by server";
- } else if (pkt_id == MessageS2CChat_packetInfo.type) {
- let pkt = MessageS2CChat.decode(pkt_data);
-
- logger.info(`CHAT: [${pkt.from}] ${pkt.message}`);
- } else if (pkt_id == MessageS2CPong_packetInfo.type) {
- clearTimeout(client.ping_timeout_left);
- client.ping_timeout_left = setTimeout(ping_timeout_fn, 10 * 1000);
- } else if (pkt_id == MessageS2CPlayersUpdate_packetInfo.type) {
- let pkt = MessageS2CPlayersUpdate.decode(pkt_data);
- global.players = pkt.players;
-
- for (let i = 0; i < pkt.players.length; i++) {
- if (pkt.players[i].username == client.username) {
- if (global.me !== null) {
- let x_vel = (global.me.x - pkt.players[i].x) / (1 / 20);
- let y_vel = (global.me.y - pkt.players[i].y) / (1 / 20);
- let total_vel = Math.sqrt(x_vel * x_vel + y_vel * y_vel);
- global.x_vel = x_vel;
- global.y_vel = y_vel;
- global.velocity = total_vel;
-
- // calc theta
- global.direction_radians = Math.atan2(global.y_vel, global.x_vel);
- }
-
- global.me = pkt.players[i];
- }
- }
- } else if (pkt_id == MessageS2CPlanetData_packetInfo.type) {
- let pkt = MessageS2CPlanetData.decode(pkt_data);
- global.planets = pkt.planets;
- } else if (pkt_id == MessageS2CModulesUpdate_packetInfo.type) {
- let pkt = MessageS2CModulesUpdate.decode(pkt_data);
- global.modules = pkt.modules;
- } else if (pkt_id == MessageS2CModuleAdd_packetInfo.type) {
- let pkt = MessageS2CModuleAdd.decode(pkt_data);
- let module = {
- module_type: pkt.module!.moduleType,
- rotation: pkt.module!.rotation,
- x: pkt.module!.x,
- y: pkt.module!.y,
- children: pkt.module!.children,
- };
- global.tree.set(pkt.module!.id, module);
- global.clicked = null;
- } else if (pkt_id == MessageS2CModuleRemove_packetInfo.type) {
- let pkt = MessageS2CModuleRemove.decode(pkt_data);
- global.clicked = pkt.module!.id;
- } else if (pkt_id == MessageS2CModuleTreeUpdate_packetInfo.type) {
- let pkt = MessageS2CModuleTreeUpdate.decode(pkt_data);
- let modules: Map<number, AttachedModule> = new Map<number, AttachedModule>();
- pkt.tree.forEach((value: ProtocolAttachedModule) => {
- modules.set(value.id, {
- module_type: value.moduleType,
- rotation: value.rotation,
- x: value.x,
- y: value.y,
- children: value.children,
- });
- });
- global.tree = modules;
- } else {
- logger.warn(`server sent unexpected packet ${pkt_id} for state Play`);
- }
- }
- });
-
-
-
- return client;
-}
-
-let socket: WebSocket | undefined = undefined;
-
-function _websocket_connect(url: string): Promise<WebSocket> {
- if (socket && socket.readyState < 2) {
- // reuse socket connection
- return Promise.resolve(socket);
- }
-
- return new Promise((resolve, reject) => {
- socket = new WebSocket(url);
- socket.onopen = () => {
- // @ts-ignore if here, guaranteed that `socket` != undefined
- resolve(socket);
- }
- socket.onerror = (err) => {
- reject(err);
- }
- });
-}
D client/src/index.ts => client/src/index.ts +0 -500
@@ 1,500 0,0 @@
-import {Logger, logSetup} from "./logger";
-import {AttachedModule, gateway_connect, GatewayClient} from "./gateway";
-import {Player} from "./protocol/player";
-import {Planet, PlanetType} from "./protocol/planet";
-import {Module, ModuleType} from "./protocol/module";
-/*import {
- MessageC2SAuthenticateAndBeamOut,
- MessageC2SAuthenticateAndBeamOut_packetInfo,
- MessageC2SInput,
- 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";*/
-import {createParticle, tickAndDrawParticles} from "./particle";
-
-logSetup();
-const logger = new Logger("client");
-
-export interface GlobalData {
- client: GatewayClient | null,
- players: Player[],
- planets: Planet[],
- modules: Module[],
- me: Player | null,
- canvas: HTMLCanvasElement,
- spritesheet_img: HTMLImageElement | null,
- spritesheet: object | null,
- context: CanvasRenderingContext2D,
- /*keys: Keys,
- velocity: number,
- x_vel: number,
- y_vel: number
- can_beam_out: boolean,*/
- direction_radians: number,
- /*mouse_x: number,
- mouse_y: number,
- tree: Map<number, AttachedModule>,
- clicked: number | null,*/
-}
-
-export interface Keys {
- up: boolean,
- left: boolean,
- down: boolean,
- right: boolean
-}
-
-export const global: GlobalData = {
- client: null,
- players: [],
- planets: [],
- modules: [],
- me: null,
- canvas: <HTMLCanvasElement>document.getElementById("canvas"),
- spritesheet_img: null,
- spritesheet: null,
- context: <CanvasRenderingContext2D>(<HTMLCanvasElement>document.getElementById("canvas")).getContext("2d"),
- /*keys: {
- up: false,
- down: false,
- left: false,
- right: false
- },
- velocity: 0,
- x_vel: 0,
- y_vel: 0,
- can_beam_out: false,*/
- direction_radians: 0,
- /*mouse_x: 0,
- mouse_y: 0,
- tree: new Map<number, AttachedModule>(),
- clicked: null,*/
-}
-
-async function client_main(server: string, username: string, texture_quality: string) {
- logger.info("StarKingdoms client - starting");
-
- logger.info("Loading textures");
- let spritesheet_url = `/assets/dist/spritesheet-${texture_quality}.png`;
- let spritesheet_data_url = `/assets/dist/spritesheet-${texture_quality}.json`;
-
- let load_textures = new Promise<void>(async (resolve) => {
- const image_promise: Promise<HTMLImageElement> = new Promise((resolve, reject) => {
- const image = document.createElement("img");
- image.src = spritesheet_url;
- image.onload = () => { resolve(image); }
- image.onerror = err => reject(err);
- });
- const dat_promise: Promise<Object> = fetch(spritesheet_data_url).then(res => res.json());
- let image = await image_promise;
- let data = await dat_promise;
-
- global.spritesheet_img = image;
- global.spritesheet = data;
-
- resolve();
- });
- await load_textures;
-
- logger.info("Starting the renderer");
-
-
- //let sprite = PIXI.Sprite.from(global.spritesheet?.textures["hearty.png"]);
-
- global.client = await gateway_connect(server, username);
-
- global.canvas.width = window.innerWidth;
- global.canvas.height = window.innerHeight;
-
- window.onresize = () => {
- global.canvas.width = window.innerWidth;
- global.canvas.height = window.innerHeight;
- }
-
- global.canvas.style.setProperty("background-image", `url("/assets/final/${texture_quality}/starfield.png")`);
- let canvas = document.getElementById("canvas")!;
-
- let thruster_counter = 0;
-
- /*document.onkeydown = (e) => {
- if (e.code == "ArrowLeft" || e.code == "KeyA") { // arrow-left
- global.keys.left = true;
- } else if (e.code == "ArrowRight" || e.code == "KeyD") { // arrow-right
- global.keys.right = true;
- } else if (e.code == "ArrowUp" || e.code == "KeyW") { // arrow-up
- global.keys.up = true;
- } else if (e.code == "ArrowDown" || e.code == "KeyS") { // arrow-down
- global.keys.down = true;
- }
-
- let msg = MessageC2SInput.encode({
- upPressed: global.keys.up,
- downPressed: global.keys.down,
- leftPressed: global.keys.left,
- rightPressed: global.keys.right
- }).finish();
-
- global.client?.socket.send(encode(MessageC2SInput_packetInfo.type, msg));
- }
- document.onkeyup = (e) => {
- if (e.code == "ArrowLeft" || e.code == "KeyA") { // arrow-left
- global.keys.left = false;
- } else if (e.code == "ArrowRight" || e.code == "KeyD") { // arrow-right
- global.keys.right = false;
- } else if (e.code == "ArrowUp" || e.code == "KeyW") { // arrow-up
- global.keys.up = false;
- } else if (e.code == "ArrowDown" || e.code == "KeyS") { // arrow-down
- global.keys.down = false;
- }
-
- let msg = MessageC2SInput.encode({
- upPressed: global.keys.up,
- downPressed: global.keys.down,
- leftPressed: global.keys.left,
- rightPressed: global.keys.right
- }).finish();
- global.client?.socket.send(encode(MessageC2SInput_packetInfo.type, msg));
- }*/
-
- let t = performance.now();
- let delta = 0.0;
-
- let render = (newT: DOMHighResTimeStamp) => {
-
- delta = newT - t;
- t = newT;
-
- let viewer_size_x = global.canvas.width;
- let viewer_size_y = global.canvas.height;
-
- global.canvas.style.setProperty("background-position", `${-global.me?.x!/5}px ${-global.me?.y!/5}px`);
-
- global.context.setTransform(1, 0, 0, 1, 0, 0);
- global.context.clearRect(0, 0, viewer_size_x, viewer_size_y);
-
- // *dont* translate the camera. we're movign everything else around us. cameracentrism.
- // only translation will be to center our core module.
- global.context.translate(viewer_size_x / 2, viewer_size_y / 2);
-
- global.context.save();
- global.context.rotate(global.direction_radians + Math.PI);
-
- // @ts-ignore
- let indic_tex = global.spritesheet!["frames"]["trackindicator.png"];
-
- global.context.drawImage(global.spritesheet_img!, indic_tex.frame.x,
- indic_tex.frame.y+1,
- indic_tex.frame.w-1,
- indic_tex.frame.h-2,
- -indic_tex.frame.w/2,
- -indic_tex.frame.h/2,
- indic_tex.frame.w,
- indic_tex.frame.h
- );
-
- global.context.restore();
-
- if (global.me !== null) {
- document.getElementById("pos")!.innerText = `Position: ${Math.trunc(global.me.x)}, ${Math.trunc(global.me.y)}`;
- }
- //document.getElementById("vel")!.innerText = `Velocity: ${Math.trunc(global.velocity)}`;
- document.getElementById("vel-dir")!.innerText = `Track Angle: ${global.direction_radians}`
-
- for (let i = 0; i < global.planets.length; i++) {
- let planet = global.planets[i];
- // @ts-ignore
- let tex = global.spritesheet!["frames"][planet_type_to_tex_id(planet.planetType)];
- global.context.drawImage(global.spritesheet_img!,
- tex.frame.x, // sx
- tex.frame.y, // sy
- tex.frame.w-1, // sw
- tex.frame.h-1, // sh
- (planet.x - planet.radius - global.me?.x!), // dx
- (planet.y - planet.radius - global.me?.y!), // dy
- planet.radius * 2, // dw
- planet.radius * 2); // dh
-
- if (planet.planetType == PlanetType.Moon) {
- if (global.me !== null) {
- global.context.beginPath();
- global.context.strokeStyle = "gray";
- 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();
-
- document.getElementById("pos-moon")!.innerText = `Relative to Moon: ${Math.trunc(global.me!.x - planet.x)}, ${Math.trunc(global.me!.y - planet.y)}`
- }
- } else if (planet.planetType == PlanetType.Earth) {
- if (global.me !== null) {
- global.context.beginPath();
- global.context.strokeStyle = "limegreen";
- 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();
- }
- } 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();
- }
- }
- }
-
- for (let i = 0; i < global.modules.length; i++) {
- if (global.me !== null) {
- let module = global.modules[i];
- // @ts-ignore
- let tex = global.spritesheet!["frames"][module_type_to_tex_id(module.moduleType, (module.flags & 1) != 0)];
-
- global.context.save();
-
- // x_{screen} = x_{world} - player_{x_{world}}
- // x_{world} = x_{screen} + player_{x_{world}}
-
- global.context.translate(module.x - global.me!.x, module.y - global.me!.y);
-
- global.context.rotate(module.rotation);
-
- global.context.drawImage(global.spritesheet_img!,
- tex.frame.x,
- tex.frame.y,
- tex.frame.w-1,
- tex.frame.h-1,
- -25,
- -25, 50, 50);
-
- global.context.restore();
-
- /*if (global.clicked == module.id) {
- global.context.save();
- global.context.translate(global.mouse_x - window.innerWidth/2,
- global.mouse_y - window.innerHeight/2);
-
- global.context.rotate(module.rotation);
-
- global.context.globalAlpha = 0.6;
- global.context.drawImage(global.spritesheet_img!,
- tex.frame.x,
- tex.frame.y,
- tex.frame.w-1,
- tex.frame.h-1,
- -25,
- -25, 50, 50);
- global.context.globalAlpha = 1.0;
- global.context.restore();
- }*/
- }
- }
-
- /*global.tree.forEach((value: AttachedModule, _key: number) => {
- if (global.me !== null) {
- // @ts-ignore
- let tex = global.spritesheet!["frames"][module_type_to_tex_id(value.module_type, true)];
-
- global.context.save();
- global.context.translate(value.x - global.me!.x, value.y - global.me!.y);
- global.context.rotate(value.rotation);
-
- global.context.drawImage(global.spritesheet_img!,
- tex.frame.x,
- tex.frame.y,
- tex.frame.w-1,
- tex.frame.h-1,
- -25,
- -25, 50, 50);
-
- global.context.restore();
- }
- });*/
-
- function isStarkingdomsBirthday() {
- let inputDate = new Date("3/20/2022");
- let todaysDate = new Date();
- return inputDate.getMonth() == todaysDate.getMonth() && inputDate.getDate() == todaysDate.getDate();
- }
-
- function isRustBirthday() {
- let inputDate = new Date("5/15/2015");
- let todaysDate = new Date();
- return inputDate.getMonth() == todaysDate.getMonth() && inputDate.getDate() == todaysDate.getDate();
- }
-
- for (let i = 0; i < global.players.length; i++) {
- if (global.me !== null) {
- let player = global.players[i];
- // @ts-ignore
- //let tex = global.spritesheet!["frames"]["hearty.png"];
- //let tex = global.spritesheet!["frames"]["hearty_party.png"];
- //let tex = global.spritesheet!["frames"]["hearty_ferris.png"];
- let tex;
- if (isStarkingdomsBirthday()) {
- // @ts-ignore
- tex = global.spritesheet!["frames"]["hearty_party.png"];
- } else if (isRustBirthday()) {
- // @ts-ignore
- tex = global.spritesheet!["frames"]["hearty_ferris.png"];
- } else {
- // @ts-ignore
- tex = global.spritesheet!["frames"]["hearty.png"];
- }
-
- global.context.save();
-
- global.context.translate(player.x - global.me!.x, player.y - global.me!.y);
-
- global.context.textAlign = "center";
- global.context.font = "30px Segoe UI";
- global.context.fillStyle = "white";
- global.context.fillText(player.username, 0, -35);
-
- global.context.rotate(player.rotation);
-
- global.context.drawImage(global.spritesheet_img!,
- tex.frame.x, // sx
- tex.frame.y, // sy
- tex.frame.w-1, // sw
- tex.frame.h-1, // sh
- -25, -25, 50, 50); // dh
-
- global.context.restore();
- }
- }
-
- function calculateRotated(x: number, y: number, rotation: number): [number, number] {
- let x2 = x * Math.cos(rotation) - y * Math.sin(rotation);
- let y2 = x * Math.sin(rotation) + y * Math.cos(rotation);
- return [x2, y2];
- }
-
- const thruster_r = 52;
- const thruster_g = 189;
- const thruster_b = 235;
- const thruster_start_a = 80;
- const thruster_end_a = 0;
- const thruster_start_size = 4;
- const thruster_end_size = 50;
- const thruster_final_rotation = 90;
-
- function createThrusterParticle(x: number, y: number, vel_x: number, vel_y: number) {
- createParticle({
- x: global.me!.x + calculateRotated(x, y, global.me!.rotation)[0],
- y: global.me!.y + calculateRotated(x, y, global.me!.rotation)[1],
- lifetime: 500,
- timer: 0,
- startSize: thruster_start_size,
- finalSize: thruster_end_size,
- startRotation: 0,
- finalRotation: thruster_final_rotation,
- startOpacity: thruster_start_a,
- endOpacity: thruster_end_a,
- startR: thruster_r,
- startG: thruster_g,
- startB: thruster_b,
- endR: thruster_r,
- endG: thruster_g,
- endB: thruster_b,
- velocity_x: calculateRotated(vel_x, vel_y, global.me!.rotation)[0],
- velocity_y: calculateRotated(vel_x, vel_y, global.me!.rotation)[1]
- });
- }
-
- /*if (global.me !== null) {
- thruster_counter += 1;
- //thruster_counter = 1; // uncomment this line to disable particle limits
- if (thruster_counter > 3) {
- thruster_counter = 0;
- } else if (thruster_counter == 1) {
- if (global.keys.up) {
- // two backward thrusters
- // this one is blue
- createThrusterParticle(-25, 25, 0, 0.5);
- createThrusterParticle(25, 25, 0, 0.5);
- }
-
- if (global.keys.down) {
- // two backward thrusters
- // this one is blue
- createThrusterParticle(25, -25, 0, -0.5);
- createThrusterParticle(-25, -25, 0, -0.5);
- }
-
- if (global.keys.left) {
- // two backward thrusters
- // this one is blue
- createThrusterParticle(25, 25, 0, 0.5);
- createThrusterParticle(-25, -25, 0, -0.5);
- }
-
- if (global.keys.right) {
- // two backward thrusters
- // this one is blue
- createThrusterParticle(-25, 25, 0,0.5);
- createThrusterParticle(25, -25, 0, -0.5);
- }
- }
-
- tickAndDrawParticles(delta);
- }*/
-
- requestAnimationFrame(render);
- }
- requestAnimationFrame(render);
-}
-
-let query = new URLSearchParams(window.location.search);
-
-if (!(query.has("server") || query.has("username") || query.has("textures"))) {
- window.location.href = "/index.html";
-}
-
-client_main(query.get("server")!, query.get("username")!, query.get("textures")!).then(() => {});
-
-function planet_type_to_tex_id(ty: PlanetType): string {
- if (ty == PlanetType.Earth) {
- return "earth.png"
- } else if (ty == PlanetType.Moon) {
- return "moon.png"
- } else if (ty == PlanetType.Mars) {
- return "mars.png"
- }
- return "unknown.png"
-}
-function module_type_to_tex_id(ty: ModuleType, is_on: boolean): string {
- if (!is_on) {
- if (ty == ModuleType.Cargo) {
- return "cargo_off.png"
- } else if (ty == ModuleType.LandingThruster) {
- return "landingthruster_off.png"
- } else if (ty == ModuleType.LandingThrusterSuspension) {
- return "landingleg.png"
- } else if (ty == ModuleType.Hub) {
- return "hub_off.png"
- }
- } else {
- if (ty == ModuleType.Cargo) {
- return "cargo_on.png"
- } else if (ty == ModuleType.LandingThruster) {
- return "landingthruster_on.png"
- } else if (ty == ModuleType.LandingThrusterSuspension) {
- return "landingleg.png"
- } else if (ty == ModuleType.Hub) {
- return "hub_on.png"
- }
- }
- return "unknown.png"
-}
D client/src/logger.ts => client/src/logger.ts +0 -118
@@ 1,118 0,0 @@
-// LOG LEVELS:
-// 0: Fatal
-// 1: Error
-// 2: Warn
-// 3: Info
-// 4: Debug
-// Logs are written in-memory and logged to console if logLevel > showLogLevel
-let loglevel = 0;
-
-export const LEVEL_FATAL = 0;
-export const LEVEL_ERROR = 1;
-export const LEVEL_WARN = 2;
-export const LEVEL_INFO = 3;
-export const LEVEL_DEBUG = 4;
-
-interface LogLine {
- level: number,
- module: string,
- message: string,
- timestamp: number,
- deltaStart: number,
- deltaLast: number
-}
-
-const debugLog: Array<LogLine> = [];
-let timestampStart: number;
-let deltaTimestamp: number;
-let logger: Logger;
-let loggerSetup = false;
-
-export function logSetup() {
- if (loggerSetup) return;
- loggerSetup = true;
- timestampStart = Date.now();
- deltaTimestamp = Date.now();
- logger = new Logger("Logger.ts");
- consoleLogLevel(LEVEL_INFO);
- logger.info("Logger setup complete");
-}
-
-function log(level: number, module: string, message: string) {
- const log = {
- level: level,
- module: module,
- message: message,
- timestamp: Date.now(),
- deltaStart: Date.now() - timestampStart,
- deltaLast: Date.now() - deltaTimestamp
- };
- deltaTimestamp = Date.now();
-
- debugLog.push(log);
-
- consoleLogHandler(log);
-}
-
-function consoleLogHandler(log: LogLine) {
- if (import.meta.env.SSR) return; // no logging in ssr
- if (log.level <= loglevel) {
- let textstyle = "";
- switch (log.level) {
- case 0:
- textstyle = "color:red;font-weight:bold;";
- break;
- case 1:
- textstyle = "color:red;";
- break;
- case 2:
- textstyle = "color:yellow;";
- break;
- case 3:
- textstyle = "";
- break;
- case 4:
- textstyle = "color:gray;";
- break;
- }
- console.log(`%c${new Date(log.timestamp).toISOString()} ${(log.deltaStart / 1000).toFixed(3)}Σ ${(log.deltaLast / 1000).toFixed(3)}Δ\n%c[${log.module}]%c ${log.message}`, "color:gray", "color:#8c188c", textstyle);
- }
-}
-
-export function consoleLogLevel(level: number) {
- loglevel = level;
-}
-
-export function consoleLogDump() {
- for (let i = 0; i < debugLog.length; i++) {
- consoleLogHandler(debugLog[i]);
- }
-}
-
-export class Logger {
- private readonly name: string;
-
- constructor(name: string) {
- this.name = name;
- }
-
- fatal(message: any) {
- log(LEVEL_FATAL, this.name, message)
- }
-
- error(message: any) {
- log(LEVEL_ERROR, this.name, message)
- }
-
- warn(message: any) {
- log(LEVEL_WARN, this.name, message)
- }
-
- info(message: any) {
- log(LEVEL_INFO, this.name, message)
- }
-
- debug(message: any) {
- log(LEVEL_DEBUG, this.name, message)
- }
-}>
\ No newline at end of file
D client/src/particle.ts => client/src/particle.ts +0 -80
@@ 1,80 0,0 @@
-import {global} from "./index";
-
-export interface Particle {
- x: number,
- y: number,
- lifetime: number,
- timer: number,
- startSize: number,
- finalSize: number,
- startRotation: number,
- finalRotation: number,
- startOpacity: number,
- endOpacity: number,
- startR: number,
- endR: number,
- startG: number,
- endG: number,
- startB: number,
- endB: number,
- velocity_x: number,
- velocity_y: number
-}
-
-let particles: Particle[] = [];
-
-export function createParticle(particle: Particle) {
- particles.push(particle);
-}
-
-function lerp(start: number, end: number, time: number): number {
- return start + time * (end - start);
-}
-
-export function drawParticle(particle: Particle) {
- let t = particle.timer / particle.lifetime;
- let size = lerp(particle.startSize, particle.finalSize, t);
- let rotation = lerp(particle.startRotation, particle.finalRotation, t);
-
- global.context.save();
-
- global.context.translate(particle.x - global.me!.x, particle.y - global.me!.y);
-
- global.context.rotate(rotation);
-
- let opacity = Math.trunc(lerp(particle.startOpacity, particle.endOpacity, t));
- let r = Math.trunc(lerp(particle.startR, particle.endR, t));
- let g = Math.trunc(lerp(particle.startG, particle.endG, t));
- let b = Math.trunc(lerp(particle.startB, particle.endB, t));
-
- global.context.fillStyle = `rgb(${r} ${g} ${b} / ${opacity}%)`;
- global.context.fillRect(-size/2, -size/2, size, size);
-
- global.context.restore();
-}
-
-export function drawParticles() {
- for (let i = 0; i < particles.length; i++) {
- drawParticle(particles[i]);
- }
-}
-
-export function tickParticles(delta: number) {
- let keptParticles = []
- for (let i = 0; i < particles.length; i++) {
- particles[i].timer += delta;
-
- particles[i].x += particles[i].velocity_x * delta;
- particles[i].y += particles[i].velocity_y * delta;
-
- if (!(particles[i].timer > particles[i].lifetime)) {
- keptParticles.push(particles[i]);
- }
- }
- particles = keptParticles;
-}
-
-export function tickAndDrawParticles(delta: number) {
- tickParticles(delta);
- drawParticles();
-}
D client/src/protocol/goodbye_reason.ts => client/src/protocol/goodbye_reason.ts +0 -66
@@ 1,66 0,0 @@
-//@ts-nocheck
-
-export const protobufPackage = "protocol.goodbye_reason";
-
-export enum GoodbyeReason {
- UNKNOWN = 0,
- UnsupportedProtocol = 1,
- UnexpectedPacket = 2,
- UnexpectedNextState = 3,
- UsernameTaken = 4,
- PingPongTimeout = 5,
- Done = 6,
- UNRECOGNIZED = -1,
-}
-
-export function goodbyeReasonFromJSON(object: any): GoodbyeReason {
- switch (object) {
- case 0:
- case "UNKNOWN":
- return GoodbyeReason.UNKNOWN;
- case 1:
- case "UnsupportedProtocol":
- return GoodbyeReason.UnsupportedProtocol;
- case 2:
- case "UnexpectedPacket":
- return GoodbyeReason.UnexpectedPacket;
- case 3:
- case "UnexpectedNextState":
- return GoodbyeReason.UnexpectedNextState;
- case 4:
- case "UsernameTaken":
- return GoodbyeReason.UsernameTaken;
- case 5:
- case "PingPongTimeout":
- return GoodbyeReason.PingPongTimeout;
- case 6:
- case "Done":
- return GoodbyeReason.Done;
- case -1:
- case "UNRECOGNIZED":
- default:
- return GoodbyeReason.UNRECOGNIZED;
- }
-}
-
-export function goodbyeReasonToJSON(object: GoodbyeReason): string {
- switch (object) {
- case GoodbyeReason.UNKNOWN:
- return "UNKNOWN";
- case GoodbyeReason.UnsupportedProtocol:
- return "UnsupportedProtocol";
- case GoodbyeReason.UnexpectedPacket:
- return "UnexpectedPacket";
- case GoodbyeReason.UnexpectedNextState:
- return "UnexpectedNextState";
- case GoodbyeReason.UsernameTaken:
- return "UsernameTaken";
- case GoodbyeReason.PingPongTimeout:
- return "PingPongTimeout";
- case GoodbyeReason.Done:
- return "Done";
- case GoodbyeReason.UNRECOGNIZED:
- default:
- return "UNRECOGNIZED";
- }
-}
D client/src/protocol/input.ts => client/src/protocol/input.ts +0 -48
@@ 1,48 0,0 @@
-//@ts-nocheck
-
-export const protobufPackage = "protocol.input";
-
-export enum InputType {
- UNKNOWN = 0,
- Left = 1,
- Middle = 2,
- Right = 3,
- UNRECOGNIZED = -1,
-}
-
-export function inputTypeFromJSON(object: any): InputType {
- switch (object) {
- case 0:
- case "UNKNOWN":
- return InputType.UNKNOWN;
- case 1:
- case "Left":
- return InputType.Left;
- case 2:
- case "Middle":
- return InputType.Middle;
- case 3:
- case "Right":
- return InputType.Right;
- case -1:
- case "UNRECOGNIZED":
- default:
- return InputType.UNRECOGNIZED;
- }
-}
-
-export function inputTypeToJSON(object: InputType): string {
- switch (object) {
- case InputType.UNKNOWN:
- return "UNKNOWN";
- case InputType.Left:
- return "Left";
- case InputType.Middle:
- return "Middle";
- case InputType.Right:
- return "Right";
- case InputType.UNRECOGNIZED:
- default:
- return "UNRECOGNIZED";
- }
-}
D client/src/protocol/message_c2s.ts => client/src/protocol/message_c2s.ts +0 -1176
@@ 1,1176 0,0 @@
-//@ts-nocheck
-import * as _m0 from "protobufjs/minimal";
-import { GoodbyeReason, goodbyeReasonFromJSON, goodbyeReasonToJSON } from "./goodbye_reason";
-import { InputType, inputTypeFromJSON, inputTypeToJSON } from "./input";
-import { State, stateFromJSON, stateToJSON } from "./state";
-
-export const protobufPackage = "protocol.message_c2s";
-
-export interface MessageC2SHello {
- /** Version of the protocol. Currently always 1 */
- version: number;
- /** The username that the client is requesting. */
- requestedUsername: string;
- /** The state the connection will go into after the handshake. */
- nextState: State;
- token: string;
- user: string;
-}
-
-export enum MessageC2SHello_packetInfo {
- unknown = 0,
- type = 1,
- UNRECOGNIZED = -1,
-}
-
-export function messageC2SHello_packetInfoFromJSON(object: any): MessageC2SHello_packetInfo {
- switch (object) {
- case 0:
- case "unknown":
- return MessageC2SHello_packetInfo.unknown;
- case 1:
- case "type":
- return MessageC2SHello_packetInfo.type;
- case -1:
- case "UNRECOGNIZED":
- default:
- return MessageC2SHello_packetInfo.UNRECOGNIZED;
- }
-}
-
-export function messageC2SHello_packetInfoToJSON(object: MessageC2SHello_packetInfo): string {
- switch (object) {
- case MessageC2SHello_packetInfo.unknown:
- return "unknown";
- case MessageC2SHello_packetInfo.type:
- return "type";
- case MessageC2SHello_packetInfo.UNRECOGNIZED:
- default:
- return "UNRECOGNIZED";
- }
-}
-
-export interface MessageC2SGoodbye {
- /** The reason the client is disconnecting the server */
- reason: GoodbyeReason;
-}
-
-export enum MessageC2SGoodbye_packetInfo {
- unknown = 0,
- type = 2,
- UNRECOGNIZED = -1,
-}
-
-export function messageC2SGoodbye_packetInfoFromJSON(object: any): MessageC2SGoodbye_packetInfo {
- switch (object) {
- case 0:
- case "unknown":
- return MessageC2SGoodbye_packetInfo.unknown;
- case 2:
- case "type":
- return MessageC2SGoodbye_packetInfo.type;
- case -1:
- case "UNRECOGNIZED":
- default:
- return MessageC2SGoodbye_packetInfo.UNRECOGNIZED;
- }
-}
-
-export function messageC2SGoodbye_packetInfoToJSON(object: MessageC2SGoodbye_packetInfo): string {
- switch (object) {
- case MessageC2SGoodbye_packetInfo.unknown:
- return "unknown";
- case MessageC2SGoodbye_packetInfo.type:
- return "type";
- case MessageC2SGoodbye_packetInfo.UNRECOGNIZED:
- default:
- return "UNRECOGNIZED";
- }
-}
-
-export interface MessageC2SChat {
- /** The chat message to sent */
- message: string;
-}
-
-export enum MessageC2SChat_packetInfo {
- unknown = 0,
- type = 3,
- UNRECOGNIZED = -1,
-}
-
-export function messageC2SChat_packetInfoFromJSON(object: any): MessageC2SChat_packetInfo {
- switch (object) {
- case 0:
- case "unknown":
- return MessageC2SChat_packetInfo.unknown;
- case 3:
- case "type":
- return MessageC2SChat_packetInfo.type;
- case -1:
- case "UNRECOGNIZED":
- default:
- return MessageC2SChat_packetInfo.UNRECOGNIZED;
- }
-}
-
-export function messageC2SChat_packetInfoToJSON(object: MessageC2SChat_packetInfo): string {
- switch (object) {
- case MessageC2SChat_packetInfo.unknown:
- return "unknown";
- case MessageC2SChat_packetInfo.type:
- return "type";
- case MessageC2SChat_packetInfo.UNRECOGNIZED:
- default:
- return "UNRECOGNIZED";
- }
-}
-
-export interface MessageC2SPing {
-}
-
-export enum MessageC2SPing_packetInfo {
- unknown = 0,
- type = 4,
- UNRECOGNIZED = -1,
-}
-
-export function messageC2SPing_packetInfoFromJSON(object: any): MessageC2SPing_packetInfo {
- switch (object) {
- case 0:
- case "unknown":
- return MessageC2SPing_packetInfo.unknown;
- case 4:
- case "type":
- return MessageC2SPing_packetInfo.type;
- case -1:
- case "UNRECOGNIZED":
- default:
- return MessageC2SPing_packetInfo.UNRECOGNIZED;
- }
-}
-
-export function messageC2SPing_packetInfoToJSON(object: MessageC2SPing_packetInfo): string {
- switch (object) {
- case MessageC2SPing_packetInfo.unknown:
- return "unknown";
- case MessageC2SPing_packetInfo.type:
- return "type";
- case MessageC2SPing_packetInfo.UNRECOGNIZED:
- default:
- return "UNRECOGNIZED";
- }
-}
-
-export interface MessageC2SInput {
- upPressed: boolean;
- downPressed: boolean;
- leftPressed: boolean;
- rightPressed: boolean;
-}
-
-export enum MessageC2SInput_packetInfo {
- unknown = 0,
- type = 11,
- UNRECOGNIZED = -1,
-}
-
-export function messageC2SInput_packetInfoFromJSON(object: any): MessageC2SInput_packetInfo {
- switch (object) {
- case 0:
- case "unknown":
- return MessageC2SInput_packetInfo.unknown;
- case 11:
- case "type":
- return MessageC2SInput_packetInfo.type;
- case -1:
- case "UNRECOGNIZED":
- default:
- return MessageC2SInput_packetInfo.UNRECOGNIZED;
- }
-}
-
-export function messageC2SInput_packetInfoToJSON(object: MessageC2SInput_packetInfo): string {
- switch (object) {
- case MessageC2SInput_packetInfo.unknown:
- return "unknown";
- case MessageC2SInput_packetInfo.type:
- return "type";
- case MessageC2SInput_packetInfo.UNRECOGNIZED:
- default:
- return "UNRECOGNIZED";
- }
-}
-
-export interface MessageC2SAuthenticateAndBeamOut {
- /** The user ID that the client is authenticating as */
- userId: string;
- /** The token from the authentication server that the user is authenticating as */
- token: string;
-}
-
-export enum MessageC2SAuthenticateAndBeamOut_packetInfo {
- unknown = 0,
- type = 12,
- UNRECOGNIZED = -1,
-}
-
-export function messageC2SAuthenticateAndBeamOut_packetInfoFromJSON(
- object: any,
-): MessageC2SAuthenticateAndBeamOut_packetInfo {
- switch (object) {
- case 0:
- case "unknown":
- return MessageC2SAuthenticateAndBeamOut_packetInfo.unknown;
- case 12:
- case "type":
- return MessageC2SAuthenticateAndBeamOut_packetInfo.type;
- case -1:
- case "UNRECOGNIZED":
- default:
- return MessageC2SAuthenticateAndBeamOut_packetInfo.UNRECOGNIZED;
- }
-}
-
-export function messageC2SAuthenticateAndBeamOut_packetInfoToJSON(
- object: MessageC2SAuthenticateAndBeamOut_packetInfo,
-): string {
- switch (object) {
- case MessageC2SAuthenticateAndBeamOut_packetInfo.unknown:
- return "unknown";
- case MessageC2SAuthenticateAndBeamOut_packetInfo.type:
- return "type";
- case MessageC2SAuthenticateAndBeamOut_packetInfo.UNRECOGNIZED:
- default:
- return "UNRECOGNIZED";
- }
-}
-
-export interface MessageC2SMouseInput {
- worldposX: number;
- worldposY: number;
- button: InputType;
- released: boolean;
-}
-
-export enum MessageC2SMouseInput_packetInfo {
- unknown = 0,
- type = 13,
- UNRECOGNIZED = -1,
-}
-
-export function messageC2SMouseInput_packetInfoFromJSON(object: any): MessageC2SMouseInput_packetInfo {
- switch (object) {
- case 0:
- case "unknown":
- return MessageC2SMouseInput_packetInfo.unknown;
- case 13:
- case "type":
- return MessageC2SMouseInput_packetInfo.type;
- case -1:
- case "UNRECOGNIZED":
- default:
- return MessageC2SMouseInput_packetInfo.UNRECOGNIZED;
- }
-}
-
-export function messageC2SMouseInput_packetInfoToJSON(object: MessageC2SMouseInput_packetInfo): string {
- switch (object) {
- case MessageC2SMouseInput_packetInfo.unknown:
- return "unknown";
- case MessageC2SMouseInput_packetInfo.type:
- return "type";
- case MessageC2SMouseInput_packetInfo.UNRECOGNIZED:
- default:
- return "UNRECOGNIZED";
- }
-}
-
-export interface MessageC2SModuleGrabBegin {
- moduleId: number;
- worldposX: number;
- worldposY: number;
-}
-
-export enum MessageC2SModuleGrabBegin_packetInfo {
- unknown = 0,
- type = 14,
- UNRECOGNIZED = -1,
-}
-
-export function messageC2SModuleGrabBegin_packetInfoFromJSON(object: any): MessageC2SModuleGrabBegin_packetInfo {
- switch (object) {
- case 0:
- case "unknown":
- return MessageC2SModuleGrabBegin_packetInfo.unknown;
- case 14:
- case "type":
- return MessageC2SModuleGrabBegin_packetInfo.type;
- case -1:
- case "UNRECOGNIZED":
- default:
- return MessageC2SModuleGrabBegin_packetInfo.UNRECOGNIZED;
- }
-}
-
-export function messageC2SModuleGrabBegin_packetInfoToJSON(object: MessageC2SModuleGrabBegin_packetInfo): string {
- switch (object) {
- case MessageC2SModuleGrabBegin_packetInfo.unknown:
- return "unknown";
- case MessageC2SModuleGrabBegin_packetInfo.type:
- return "type";
- case MessageC2SModuleGrabBegin_packetInfo.UNRECOGNIZED:
- default:
- return "UNRECOGNIZED";
- }
-}
-
-export interface MessageC2SModuleGrabEnd {
- moduleId: number;
- worldposX: number;
- worldposY: number;
-}
-
-export enum MessageC2SModuleGrabEnd_packetInfo {
- unknown = 0,
- type = 15,
- UNRECOGNIZED = -1,
-}
-
-export function messageC2SModuleGrabEnd_packetInfoFromJSON(object: any): MessageC2SModuleGrabEnd_packetInfo {
- switch (object) {
- case 0:
- case "unknown":
- return MessageC2SModuleGrabEnd_packetInfo.unknown;
- case 15:
- case "type":
- return MessageC2SModuleGrabEnd_packetInfo.type;
- case -1:
- case "UNRECOGNIZED":
- default:
- return MessageC2SModuleGrabEnd_packetInfo.UNRECOGNIZED;
- }
-}
-
-export function messageC2SModuleGrabEnd_packetInfoToJSON(object: MessageC2SModuleGrabEnd_packetInfo): string {
- switch (object) {
- case MessageC2SModuleGrabEnd_packetInfo.unknown:
- return "unknown";
- case MessageC2SModuleGrabEnd_packetInfo.type:
- return "type";
- case MessageC2SModuleGrabEnd_packetInfo.UNRECOGNIZED:
- default:
- return "UNRECOGNIZED";
- }
-}
-
-export interface MessageC2SModuleDetach {
- moduleId: number;
-}
-
-export enum MessageC2SModuleDetach_packetInfo {
- unknown = 0,
- type = 16,
- UNRECOGNIZED = -1,
-}
-
-export function messageC2SModuleDetach_packetInfoFromJSON(object: any): MessageC2SModuleDetach_packetInfo {
- switch (object) {
- case 0:
- case "unknown":
- return MessageC2SModuleDetach_packetInfo.unknown;
- case 16:
- case "type":
- return MessageC2SModuleDetach_packetInfo.type;
- case -1:
- case "UNRECOGNIZED":
- default:
- return MessageC2SModuleDetach_packetInfo.UNRECOGNIZED;
- }
-}
-
-export function messageC2SModuleDetach_packetInfoToJSON(object: MessageC2SModuleDetach_packetInfo): string {
- switch (object) {
- case MessageC2SModuleDetach_packetInfo.unknown:
- return "unknown";
- case MessageC2SModuleDetach_packetInfo.type:
- return "type";
- case MessageC2SModuleDetach_packetInfo.UNRECOGNIZED:
- default:
- return "UNRECOGNIZED";
- }
-}
-
-function createBaseMessageC2SHello(): MessageC2SHello {
- return { version: 0, requestedUsername: "", nextState: 0, token: "", user: "" };
-}
-
-export const MessageC2SHello = {
- encode(message: MessageC2SHello, writer: _m0.Writer = _m0.Writer.create()): _m0.Writer {
- if (message.version !== 0) {
- writer.uint32(8).uint32(message.version);
- }
- if (message.requestedUsername !== "") {
- writer.uint32(18).string(message.requestedUsername);
- }
- if (message.nextState !== 0) {
- writer.uint32(24).int32(message.nextState);
- }
- if (message.token !== "") {
- writer.uint32(34).string(message.token);
- }
- if (message.user !== "") {
- writer.uint32(42).string(message.user);
- }
- return writer;
- },
-
- decode(input: _m0.Reader | Uint8Array, length?: number): MessageC2SHello {
- const reader = input instanceof _m0.Reader ? input : _m0.Reader.create(input);
- let end = length === undefined ? reader.len : reader.pos + length;
- const message = createBaseMessageC2SHello();
- while (reader.pos < end) {
- const tag = reader.uint32();
- switch (tag >>> 3) {
- case 1:
- if (tag != 8) {
- break;
- }
-
- message.version = reader.uint32();
- continue;
- case 2:
- if (tag != 18) {
- break;
- }
-
- message.requestedUsername = reader.string();
- continue;
- case 3:
- if (tag != 24) {
- break;
- }
-
- message.nextState = reader.int32() as any;
- continue;
- case 4:
- if (tag != 34) {
- break;
- }
-
- message.token = reader.string();
- continue;
- case 5:
- if (tag != 42) {
- break;
- }
-
- message.user = reader.string();
- continue;
- }
- if ((tag & 7) == 4 || tag == 0) {
- break;
- }
- reader.skipType(tag & 7);
- }
- return message;
- },
-
- fromJSON(object: any): MessageC2SHello {
- return {
- version: isSet(object.version) ? Number(object.version) : 0,
- requestedUsername: isSet(object.requestedUsername) ? String(object.requestedUsername) : "",
- nextState: isSet(object.nextState) ? stateFromJSON(object.nextState) : 0,
- token: isSet(object.token) ? String(object.token) : "",
- user: isSet(object.user) ? String(object.user) : "",
- };
- },
-
- toJSON(message: MessageC2SHello): unknown {
- const obj: any = {};
- message.version !== undefined && (obj.version = Math.round(message.version));
- message.requestedUsername !== undefined && (obj.requestedUsername = message.requestedUsername);
- message.nextState !== undefined && (obj.nextState = stateToJSON(message.nextState));
- message.token !== undefined && (obj.token = message.token);
- message.user !== undefined && (obj.user = message.user);
- return obj;
- },
-
- create<I extends Exact<DeepPartial<MessageC2SHello>, I>>(base?: I): MessageC2SHello {
- return MessageC2SHello.fromPartial(base ?? {});
- },
-
- fromPartial<I extends Exact<DeepPartial<MessageC2SHello>, I>>(object: I): MessageC2SHello {
- const message = createBaseMessageC2SHello();
- message.version = object.version ?? 0;
- message.requestedUsername = object.requestedUsername ?? "";
- message.nextState = object.nextState ?? 0;
- message.token = object.token ?? "";
- message.user = object.user ?? "";
- return message;
- },
-};
-
-function createBaseMessageC2SGoodbye(): MessageC2SGoodbye {
- return { reason: 0 };
-}
-
-export const MessageC2SGoodbye = {
- encode(message: MessageC2SGoodbye, writer: _m0.Writer = _m0.Writer.create()): _m0.Writer {
- if (message.reason !== 0) {
- writer.uint32(8).int32(message.reason);
- }
- return writer;
- },
-
- decode(input: _m0.Reader | Uint8Array, length?: number): MessageC2SGoodbye {
- const reader = input instanceof _m0.Reader ? input : _m0.Reader.create(input);
- let end = length === undefined ? reader.len : reader.pos + length;
- const message = createBaseMessageC2SGoodbye();
- while (reader.pos < end) {
- const tag = reader.uint32();
- switch (tag >>> 3) {
- case 1:
- if (tag != 8) {
- break;
- }
-
- message.reason = reader.int32() as any;
- continue;
- }
- if ((tag & 7) == 4 || tag == 0) {
- break;
- }
- reader.skipType(tag & 7);
- }
- return message;
- },
-
- fromJSON(object: any): MessageC2SGoodbye {
- return { reason: isSet(object.reason) ? goodbyeReasonFromJSON(object.reason) : 0 };
- },
-
- toJSON(message: MessageC2SGoodbye): unknown {
- const obj: any = {};
- message.reason !== undefined && (obj.reason = goodbyeReasonToJSON(message.reason));
- return obj;
- },
-
- create<I extends Exact<DeepPartial<MessageC2SGoodbye>, I>>(base?: I): MessageC2SGoodbye {
- return MessageC2SGoodbye.fromPartial(base ?? {});
- },
-
- fromPartial<I extends Exact<DeepPartial<MessageC2SGoodbye>, I>>(object: I): MessageC2SGoodbye {
- const message = createBaseMessageC2SGoodbye();
- message.reason = object.reason ?? 0;
- return message;
- },
-};
-
-function createBaseMessageC2SChat(): MessageC2SChat {
- return { message: "" };
-}
-
-export const MessageC2SChat = {
- encode(message: MessageC2SChat, writer: _m0.Writer = _m0.Writer.create()): _m0.Writer {
- if (message.message !== "") {
- writer.uint32(10).string(message.message);
- }
- return writer;
- },
-
- decode(input: _m0.Reader | Uint8Array, length?: number): MessageC2SChat {
- const reader = input instanceof _m0.Reader ? input : _m0.Reader.create(input);
- let end = length === undefined ? reader.len : reader.pos + length;
- const message = createBaseMessageC2SChat();
- while (reader.pos < end) {
- const tag = reader.uint32();
- switch (tag >>> 3) {
- case 1:
- if (tag != 10) {
- break;
- }
-
- message.message = reader.string();
- continue;
- }
- if ((tag & 7) == 4 || tag == 0) {
- break;
- }
- reader.skipType(tag & 7);
- }
- return message;
- },
-
- fromJSON(object: any): MessageC2SChat {
- return { message: isSet(object.message) ? String(object.message) : "" };
- },
-
- toJSON(message: MessageC2SChat): unknown {
- const obj: any = {};
- message.message !== undefined && (obj.message = message.message);
- return obj;
- },
-
- create<I extends Exact<DeepPartial<MessageC2SChat>, I>>(base?: I): MessageC2SChat {
- return MessageC2SChat.fromPartial(base ?? {});
- },
-
- fromPartial<I extends Exact<DeepPartial<MessageC2SChat>, I>>(object: I): MessageC2SChat {
- const message = createBaseMessageC2SChat();
- message.message = object.message ?? "";
- return message;
- },
-};
-
-function createBaseMessageC2SPing(): MessageC2SPing {
- return {};
-}
-
-export const MessageC2SPing = {
- encode(_: MessageC2SPing, writer: _m0.Writer = _m0.Writer.create()): _m0.Writer {
- return writer;
- },
-
- decode(input: _m0.Reader | Uint8Array, length?: number): MessageC2SPing {
- const reader = input instanceof _m0.Reader ? input : _m0.Reader.create(input);
- let end = length === undefined ? reader.len : reader.pos + length;
- const message = createBaseMessageC2SPing();
- while (reader.pos < end) {
- const tag = reader.uint32();
- switch (tag >>> 3) {
- }
- if ((tag & 7) == 4 || tag == 0) {
- break;
- }
- reader.skipType(tag & 7);
- }
- return message;
- },
-
- fromJSON(_: any): MessageC2SPing {
- return {};
- },
-
- toJSON(_: MessageC2SPing): unknown {
- const obj: any = {};
- return obj;
- },
-
- create<I extends Exact<DeepPartial<MessageC2SPing>, I>>(base?: I): MessageC2SPing {
- return MessageC2SPing.fromPartial(base ?? {});
- },
-
- fromPartial<I extends Exact<DeepPartial<MessageC2SPing>, I>>(_: I): MessageC2SPing {
- const message = createBaseMessageC2SPing();
- return message;
- },
-};
-
-function createBaseMessageC2SInput(): MessageC2SInput {
- return { upPressed: false, downPressed: false, leftPressed: false, rightPressed: false };
-}
-
-export const MessageC2SInput = {
- encode(message: MessageC2SInput, writer: _m0.Writer = _m0.Writer.create()): _m0.Writer {
- if (message.upPressed === true) {
- writer.uint32(8).bool(message.upPressed);
- }
- if (message.downPressed === true) {
- writer.uint32(16).bool(message.downPressed);
- }
- if (message.leftPressed === true) {
- writer.uint32(24).bool(message.leftPressed);
- }
- if (message.rightPressed === true) {
- writer.uint32(32).bool(message.rightPressed);
- }
- return writer;
- },
-
- decode(input: _m0.Reader | Uint8Array, length?: number): MessageC2SInput {
- const reader = input instanceof _m0.Reader ? input : _m0.Reader.create(input);
- let end = length === undefined ? reader.len : reader.pos + length;
- const message = createBaseMessageC2SInput();
- while (reader.pos < end) {
- const tag = reader.uint32();
- switch (tag >>> 3) {
- case 1:
- if (tag != 8) {
- break;
- }
-
- message.upPressed = reader.bool();
- continue;
- case 2:
- if (tag != 16) {
- break;
- }
-
- message.downPressed = reader.bool();
- continue;
- case 3:
- if (tag != 24) {
- break;
- }
-
- message.leftPressed = reader.bool();
- continue;
- case 4:
- if (tag != 32) {
- break;
- }
-
- message.rightPressed = reader.bool();
- continue;
- }
- if ((tag & 7) == 4 || tag == 0) {
- break;
- }
- reader.skipType(tag & 7);
- }
- return message;
- },
-
- fromJSON(object: any): MessageC2SInput {
- return {
- upPressed: isSet(object.upPressed) ? Boolean(object.upPressed) : false,
- downPressed: isSet(object.downPressed) ? Boolean(object.downPressed) : false,
- leftPressed: isSet(object.leftPressed) ? Boolean(object.leftPressed) : false,
- rightPressed: isSet(object.rightPressed) ? Boolean(object.rightPressed) : false,
- };
- },
-
- toJSON(message: MessageC2SInput): unknown {
- const obj: any = {};
- message.upPressed !== undefined && (obj.upPressed = message.upPressed);
- message.downPressed !== undefined && (obj.downPressed = message.downPressed);
- message.leftPressed !== undefined && (obj.leftPressed = message.leftPressed);
- message.rightPressed !== undefined && (obj.rightPressed = message.rightPressed);
- return obj;
- },
-
- create<I extends Exact<DeepPartial<MessageC2SInput>, I>>(base?: I): MessageC2SInput {
- return MessageC2SInput.fromPartial(base ?? {});
- },
-
- fromPartial<I extends Exact<DeepPartial<MessageC2SInput>, I>>(object: I): MessageC2SInput {
- const message = createBaseMessageC2SInput();
- message.upPressed = object.upPressed ?? false;
- message.downPressed = object.downPressed ?? false;
- message.leftPressed = object.leftPressed ?? false;
- message.rightPressed = object.rightPressed ?? false;
- return message;
- },
-};
-
-function createBaseMessageC2SAuthenticateAndBeamOut(): MessageC2SAuthenticateAndBeamOut {
- return { userId: "", token: "" };
-}
-
-export const MessageC2SAuthenticateAndBeamOut = {
- encode(message: MessageC2SAuthenticateAndBeamOut, writer: _m0.Writer = _m0.Writer.create()): _m0.Writer {
- if (message.userId !== "") {
- writer.uint32(10).string(message.userId);
- }
- if (message.token !== "") {
- writer.uint32(18).string(message.token);
- }
- return writer;
- },
-
- decode(input: _m0.Reader | Uint8Array, length?: number): MessageC2SAuthenticateAndBeamOut {
- const reader = input instanceof _m0.Reader ? input : _m0.Reader.create(input);
- let end = length === undefined ? reader.len : reader.pos + length;
- const message = createBaseMessageC2SAuthenticateAndBeamOut();
- while (reader.pos < end) {
- const tag = reader.uint32();
- switch (tag >>> 3) {
- case 1:
- if (tag != 10) {
- break;
- }
-
- message.userId = reader.string();
- continue;
- case 2:
- if (tag != 18) {
- break;
- }
-
- message.token = reader.string();
- continue;
- }
- if ((tag & 7) == 4 || tag == 0) {
- break;
- }
- reader.skipType(tag & 7);
- }
- return message;
- },
-
- fromJSON(object: any): MessageC2SAuthenticateAndBeamOut {
- return {
- userId: isSet(object.userId) ? String(object.userId) : "",
- token: isSet(object.token) ? String(object.token) : "",
- };
- },
-
- toJSON(message: MessageC2SAuthenticateAndBeamOut): unknown {
- const obj: any = {};
- message.userId !== undefined && (obj.userId = message.userId);
- message.token !== undefined && (obj.token = message.token);
- return obj;
- },
-
- create<I extends Exact<DeepPartial<MessageC2SAuthenticateAndBeamOut>, I>>(
- base?: I,
- ): MessageC2SAuthenticateAndBeamOut {
- return MessageC2SAuthenticateAndBeamOut.fromPartial(base ?? {});
- },
-
- fromPartial<I extends Exact<DeepPartial<MessageC2SAuthenticateAndBeamOut>, I>>(
- object: I,
- ): MessageC2SAuthenticateAndBeamOut {
- const message = createBaseMessageC2SAuthenticateAndBeamOut();
- message.userId = object.userId ?? "";
- message.token = object.token ?? "";
- return message;
- },
-};
-
-function createBaseMessageC2SMouseInput(): MessageC2SMouseInput {
- return { worldposX: 0, worldposY: 0, button: 0, released: false };
-}
-
-export const MessageC2SMouseInput = {
- encode(message: MessageC2SMouseInput, writer: _m0.Writer = _m0.Writer.create()): _m0.Writer {
- if (message.worldposX !== 0) {
- writer.uint32(9).double(message.worldposX);
- }
- if (message.worldposY !== 0) {
- writer.uint32(17).double(message.worldposY);
- }
- if (message.button !== 0) {
- writer.uint32(24).int32(message.button);
- }
- if (message.released === true) {
- writer.uint32(32).bool(message.released);
- }
- return writer;
- },
-
- decode(input: _m0.Reader | Uint8Array, length?: number): MessageC2SMouseInput {
- const reader = input instanceof _m0.Reader ? input : _m0.Reader.create(input);
- let end = length === undefined ? reader.len : reader.pos + length;
- const message = createBaseMessageC2SMouseInput();
- while (reader.pos < end) {
- const tag = reader.uint32();
- switch (tag >>> 3) {
- case 1:
- if (tag != 9) {
- break;
- }
-
- message.worldposX = reader.double();
- continue;
- case 2:
- if (tag != 17) {
- break;
- }
-
- message.worldposY = reader.double();
- continue;
- case 3:
- if (tag != 24) {
- break;
- }
-
- message.button = reader.int32() as any;
- continue;
- case 4:
- if (tag != 32) {
- break;
- }
-
- message.released = reader.bool();
- continue;
- }
- if ((tag & 7) == 4 || tag == 0) {
- break;
- }
- reader.skipType(tag & 7);
- }
- return message;
- },
-
- fromJSON(object: any): MessageC2SMouseInput {
- return {
- worldposX: isSet(object.worldposX) ? Number(object.worldposX) : 0,
- worldposY: isSet(object.worldposY) ? Number(object.worldposY) : 0,
- button: isSet(object.button) ? inputTypeFromJSON(object.button) : 0,
- released: isSet(object.released) ? Boolean(object.released) : false,
- };
- },
-
- toJSON(message: MessageC2SMouseInput): unknown {
- const obj: any = {};
- message.worldposX !== undefined && (obj.worldposX = message.worldposX);
- message.worldposY !== undefined && (obj.worldposY = message.worldposY);
- message.button !== undefined && (obj.button = inputTypeToJSON(message.button));
- message.released !== undefined && (obj.released = message.released);
- return obj;
- },
-
- create<I extends Exact<DeepPartial<MessageC2SMouseInput>, I>>(base?: I): MessageC2SMouseInput {
- return MessageC2SMouseInput.fromPartial(base ?? {});
- },
-
- fromPartial<I extends Exact<DeepPartial<MessageC2SMouseInput>, I>>(object: I): MessageC2SMouseInput {
- const message = createBaseMessageC2SMouseInput();
- message.worldposX = object.worldposX ?? 0;
- message.worldposY = object.worldposY ?? 0;
- message.button = object.button ?? 0;
- message.released = object.released ?? false;
- return message;
- },
-};
-
-function createBaseMessageC2SModuleGrabBegin(): MessageC2SModuleGrabBegin {
- return { moduleId: 0, worldposX: 0, worldposY: 0 };
-}
-
-export const MessageC2SModuleGrabBegin = {
- encode(message: MessageC2SModuleGrabBegin, writer: _m0.Writer = _m0.Writer.create()): _m0.Writer {
- if (message.moduleId !== 0) {
- writer.uint32(8).uint32(message.moduleId);
- }
- if (message.worldposX !== 0) {
- writer.uint32(17).double(message.worldposX);
- }
- if (message.worldposY !== 0) {
- writer.uint32(25).double(message.worldposY);
- }
- return writer;
- },
-
- decode(input: _m0.Reader | Uint8Array, length?: number): MessageC2SModuleGrabBegin {
- const reader = input instanceof _m0.Reader ? input : _m0.Reader.create(input);
- let end = length === undefined ? reader.len : reader.pos + length;
- const message = createBaseMessageC2SModuleGrabBegin();
- while (reader.pos < end) {
- const tag = reader.uint32();
- switch (tag >>> 3) {
- case 1:
- if (tag != 8) {
- break;
- }
-
- message.moduleId = reader.uint32();
- continue;
- case 2:
- if (tag != 17) {
- break;
- }
-
- message.worldposX = reader.double();
- continue;
- case 3:
- if (tag != 25) {
- break;
- }
-
- message.worldposY = reader.double();
- continue;
- }
- if ((tag & 7) == 4 || tag == 0) {
- break;
- }
- reader.skipType(tag & 7);
- }
- return message;
- },
-
- fromJSON(object: any): MessageC2SModuleGrabBegin {
- return {
- moduleId: isSet(object.moduleId) ? Number(object.moduleId) : 0,
- worldposX: isSet(object.worldposX) ? Number(object.worldposX) : 0,
- worldposY: isSet(object.worldposY) ? Number(object.worldposY) : 0,
- };
- },
-
- toJSON(message: MessageC2SModuleGrabBegin): unknown {
- const obj: any = {};
- message.moduleId !== undefined && (obj.moduleId = Math.round(message.moduleId));
- message.worldposX !== undefined && (obj.worldposX = message.worldposX);
- message.worldposY !== undefined && (obj.worldposY = message.worldposY);
- return obj;
- },
-
- create<I extends Exact<DeepPartial<MessageC2SModuleGrabBegin>, I>>(base?: I): MessageC2SModuleGrabBegin {
- return MessageC2SModuleGrabBegin.fromPartial(base ?? {});
- },
-
- fromPartial<I extends Exact<DeepPartial<MessageC2SModuleGrabBegin>, I>>(object: I): MessageC2SModuleGrabBegin {
- const message = createBaseMessageC2SModuleGrabBegin();
- message.moduleId = object.moduleId ?? 0;
- message.worldposX = object.worldposX ?? 0;
- message.worldposY = object.worldposY ?? 0;
- return message;
- },
-};
-
-function createBaseMessageC2SModuleGrabEnd(): MessageC2SModuleGrabEnd {
- return { moduleId: 0, worldposX: 0, worldposY: 0 };
-}
-
-export const MessageC2SModuleGrabEnd = {
- encode(message: MessageC2SModuleGrabEnd, writer: _m0.Writer = _m0.Writer.create()): _m0.Writer {
- if (message.moduleId !== 0) {
- writer.uint32(8).uint32(message.moduleId);
- }
- if (message.worldposX !== 0) {
- writer.uint32(17).double(message.worldposX);
- }
- if (message.worldposY !== 0) {
- writer.uint32(25).double(message.worldposY);
- }
- return writer;
- },
-
- decode(input: _m0.Reader | Uint8Array, length?: number): MessageC2SModuleGrabEnd {
- const reader = input instanceof _m0.Reader ? input : _m0.Reader.create(input);
- let end = length === undefined ? reader.len : reader.pos + length;
- const message = createBaseMessageC2SModuleGrabEnd();
- while (reader.pos < end) {
- const tag = reader.uint32();
- switch (tag >>> 3) {
- case 1:
- if (tag != 8) {
- break;
- }
-
- message.moduleId = reader.uint32();
- continue;
- case 2:
- if (tag != 17) {
- break;
- }
-
- message.worldposX = reader.double();
- continue;
- case 3:
- if (tag != 25) {
- break;
- }
-
- message.worldposY = reader.double();
- continue;
- }
- if ((tag & 7) == 4 || tag == 0) {
- break;
- }
- reader.skipType(tag & 7);
- }
- return message;
- },
-
- fromJSON(object: any): MessageC2SModuleGrabEnd {
- return {
- moduleId: isSet(object.moduleId) ? Number(object.moduleId) : 0,
- worldposX: isSet(object.worldposX) ? Number(object.worldposX) : 0,
- worldposY: isSet(object.worldposY) ? Number(object.worldposY) : 0,
- };
- },
-
- toJSON(message: MessageC2SModuleGrabEnd): unknown {
- const obj: any = {};
- message.moduleId !== undefined && (obj.moduleId = Math.round(message.moduleId));
- message.worldposX !== undefined && (obj.worldposX = message.worldposX);
- message.worldposY !== undefined && (obj.worldposY = message.worldposY);
- return obj;
- },
-
- create<I extends Exact<DeepPartial<MessageC2SModuleGrabEnd>, I>>(base?: I): MessageC2SModuleGrabEnd {
- return MessageC2SModuleGrabEnd.fromPartial(base ?? {});
- },
-
- fromPartial<I extends Exact<DeepPartial<MessageC2SModuleGrabEnd>, I>>(object: I): MessageC2SModuleGrabEnd {
- const message = createBaseMessageC2SModuleGrabEnd();
- message.moduleId = object.moduleId ?? 0;
- message.worldposX = object.worldposX ?? 0;
- message.worldposY = object.worldposY ?? 0;
- return message;
- },
-};
-
-function createBaseMessageC2SModuleDetach(): MessageC2SModuleDetach {
- return { moduleId: 0 };
-}
-
-export const MessageC2SModuleDetach = {
- encode(message: MessageC2SModuleDetach, writer: _m0.Writer = _m0.Writer.create()): _m0.Writer {
- if (message.moduleId !== 0) {
- writer.uint32(8).uint32(message.moduleId);
- }
- return writer;
- },
-
- decode(input: _m0.Reader | Uint8Array, length?: number): MessageC2SModuleDetach {
- const reader = input instanceof _m0.Reader ? input : _m0.Reader.create(input);
- let end = length === undefined ? reader.len : reader.pos + length;
- const message = createBaseMessageC2SModuleDetach();
- while (reader.pos < end) {
- const tag = reader.uint32();
- switch (tag >>> 3) {
- case 1:
- if (tag != 8) {
- break;
- }
-
- message.moduleId = reader.uint32();
- continue;
- }
- if ((tag & 7) == 4 || tag == 0) {
- break;
- }
- reader.skipType(tag & 7);
- }
- return message;
- },
-
- fromJSON(object: any): MessageC2SModuleDetach {
- return { moduleId: isSet(object.moduleId) ? Number(object.moduleId) : 0 };
- },
-
- toJSON(message: MessageC2SModuleDetach): unknown {
- const obj: any = {};
- message.moduleId !== undefined && (obj.moduleId = Math.round(message.moduleId));
- return obj;
- },
-
- create<I extends Exact<DeepPartial<MessageC2SModuleDetach>, I>>(base?: I): MessageC2SModuleDetach {
- return MessageC2SModuleDetach.fromPartial(base ?? {});
- },
-
- fromPartial<I extends Exact<DeepPartial<MessageC2SModuleDetach>, I>>(object: I): MessageC2SModuleDetach {
- const message = createBaseMessageC2SModuleDetach();
- message.moduleId = object.moduleId ?? 0;
- return message;
- },
-};
-
-type Builtin = Date | Function | Uint8Array | string | number | boolean | undefined;
-
-export type DeepPartial<T> = T extends Builtin ? T
- : T extends Array<infer U> ? Array<DeepPartial<U>> : T extends ReadonlyArray<infer U> ? ReadonlyArray<DeepPartial<U>>
- : T extends {} ? { [K in keyof T]?: DeepPartial<T[K]> }
- : Partial<T>;
-
-type KeysOfUnion<T> = T extends T ? keyof T : never;
-export type Exact<P, I extends P> = P extends Builtin ? P
- : P & { [K in keyof P]: Exact<P[K], I[K]> } & { [K in Exclude<keyof I, KeysOfUnion<P>>]: never };
-
-function isSet(value: any): boolean {
- return value !== null && value !== undefined;
-}
D client/src/protocol/message_s2c.ts => client/src/protocol/message_s2c.ts +0 -1015
@@ 1,1015 0,0 @@
-//@ts-nocheck
-import * as _m0 from "protobufjs/minimal";
-import { GoodbyeReason, goodbyeReasonFromJSON, goodbyeReasonToJSON } from "./goodbye_reason";
-import { AttachedModule, Module } from "./module";
-import { Planet } from "./planet";
-import { Player } from "./player";
-import { State, stateFromJSON, stateToJSON } from "./state";
-
-export const protobufPackage = "protocol.message_s2c";
-
-export interface MessageS2CHello {
- /** The version of the protocol in use. Currently always 1. */
- version: number;
- /** The username actually assigned to the player */
- givenUsername: string;
- /** The state to switch the game into */
- nextState: State;
-}
-
-export enum MessageS2CHello_packetInfo {
- unknown = 0,
- type = 5,
- UNRECOGNIZED = -1,
-}
-
-export function messageS2CHello_packetInfoFromJSON(object: any): MessageS2CHello_packetInfo {
- switch (object) {
- case 0:
- case "unknown":
- return MessageS2CHello_packetInfo.unknown;
- case 5:
- case "type":
- return MessageS2CHello_packetInfo.type;
- case -1:
- case "UNRECOGNIZED":
- default:
- return MessageS2CHello_packetInfo.UNRECOGNIZED;
- }
-}
-
-export function messageS2CHello_packetInfoToJSON(object: MessageS2CHello_packetInfo): string {
- switch (object) {
- case MessageS2CHello_packetInfo.unknown:
- return "unknown";
- case MessageS2CHello_packetInfo.type:
- return "type";
- case MessageS2CHello_packetInfo.UNRECOGNIZED:
- default:
- return "UNRECOGNIZED";
- }
-}
-
-export interface MessageS2CGoodbye {
- /** The reason for the disconnect */
- reason: GoodbyeReason;
-}
-
-export enum MessageS2CGoodbye_packetInfo {
- unknown = 0,
- type = 6,
- UNRECOGNIZED = -1,
-}
-
-export function messageS2CGoodbye_packetInfoFromJSON(object: any): MessageS2CGoodbye_packetInfo {
- switch (object) {
- case 0:
- case "unknown":
- return MessageS2CGoodbye_packetInfo.unknown;
- case 6:
- case "type":
- return MessageS2CGoodbye_packetInfo.type;
- case -1:
- case "UNRECOGNIZED":
- default:
- return MessageS2CGoodbye_packetInfo.UNRECOGNIZED;
- }
-}
-
-export function messageS2CGoodbye_packetInfoToJSON(object: MessageS2CGoodbye_packetInfo): string {
- switch (object) {
- case MessageS2CGoodbye_packetInfo.unknown:
- return "unknown";
- case MessageS2CGoodbye_packetInfo.type:
- return "type";
- case MessageS2CGoodbye_packetInfo.UNRECOGNIZED:
- default:
- return "UNRECOGNIZED";
- }
-}
-
-export interface MessageS2CChat {
- /** The username of the player who sent the message */
- from: string;
- /** The contents of the chat message */
- message: string;
-}
-
-export enum MessageS2CChat_packetInfo {
- unknown = 0,
- type = 7,
- UNRECOGNIZED = -1,
-}
-
-export function messageS2CChat_packetInfoFromJSON(object: any): MessageS2CChat_packetInfo {
- switch (object) {
- case 0:
- case "unknown":
- return MessageS2CChat_packetInfo.unknown;
- case 7:
- case "type":
- return MessageS2CChat_packetInfo.type;
- case -1:
- case "UNRECOGNIZED":
- default:
- return MessageS2CChat_packetInfo.UNRECOGNIZED;
- }
-}
-
-export function messageS2CChat_packetInfoToJSON(object: MessageS2CChat_packetInfo): string {
- switch (object) {
- case MessageS2CChat_packetInfo.unknown:
- return "unknown";
- case MessageS2CChat_packetInfo.type:
- return "type";
- case MessageS2CChat_packetInfo.UNRECOGNIZED:
- default:
- return "UNRECOGNIZED";
- }
-}
-
-export interface MessageS2CPong {
-}
-
-export enum MessageS2CPong_packetInfo {
- unknown = 0,
- type = 8,
- UNRECOGNIZED = -1,
-}
-
-export function messageS2CPong_packetInfoFromJSON(object: any): MessageS2CPong_packetInfo {
- switch (object) {
- case 0:
- case "unknown":
- return MessageS2CPong_packetInfo.unknown;
- case 8:
- case "type":
- return MessageS2CPong_packetInfo.type;
- case -1:
- case "UNRECOGNIZED":
- default:
- return MessageS2CPong_packetInfo.UNRECOGNIZED;
- }
-}
-
-export function messageS2CPong_packetInfoToJSON(object: MessageS2CPong_packetInfo): string {
- switch (object) {
- case MessageS2CPong_packetInfo.unknown:
- return "unknown";
- case MessageS2CPong_packetInfo.type:
- return "type";
- case MessageS2CPong_packetInfo.UNRECOGNIZED:
- default:
- return "UNRECOGNIZED";
- }
-}
-
-export interface MessageS2CPlayersUpdate {
- /** List of all players in the server */
- players: Player[];
-}
-
-export enum MessageS2CPlayersUpdate_packetInfo {
- unknown = 0,
- type = 9,
- UNRECOGNIZED = -1,
-}
-
-export function messageS2CPlayersUpdate_packetInfoFromJSON(object: any): MessageS2CPlayersUpdate_packetInfo {
- switch (object) {
- case 0:
- case "unknown":
- return MessageS2CPlayersUpdate_packetInfo.unknown;
- case 9:
- case "type":
- return MessageS2CPlayersUpdate_packetInfo.type;
- case -1:
- case "UNRECOGNIZED":
- default:
- return MessageS2CPlayersUpdate_packetInfo.UNRECOGNIZED;
- }
-}
-
-export function messageS2CPlayersUpdate_packetInfoToJSON(object: MessageS2CPlayersUpdate_packetInfo): string {
- switch (object) {
- case MessageS2CPlayersUpdate_packetInfo.unknown:
- return "unknown";
- case MessageS2CPlayersUpdate_packetInfo.type:
- return "type";
- case MessageS2CPlayersUpdate_packetInfo.UNRECOGNIZED:
- default:
- return "UNRECOGNIZED";
- }
-}
-
-export interface MessageS2CPlanetData {
- /** List of all planets on the server */
- planets: Planet[];
-}
-
-export enum MessageS2CPlanetData_packetInfo {
- unknown = 0,
- type = 10,
- UNRECOGNIZED = -1,
-}
-
-export function messageS2CPlanetData_packetInfoFromJSON(object: any): MessageS2CPlanetData_packetInfo {
- switch (object) {
- case 0:
- case "unknown":
- return MessageS2CPlanetData_packetInfo.unknown;
- case 10:
- case "type":
- return MessageS2CPlanetData_packetInfo.type;
- case -1:
- case "UNRECOGNIZED":
- default:
- return MessageS2CPlanetData_packetInfo.UNRECOGNIZED;
- }
-}
-
-export function messageS2CPlanetData_packetInfoToJSON(object: MessageS2CPlanetData_packetInfo): string {
- switch (object) {
- case MessageS2CPlanetData_packetInfo.unknown:
- return "unknown";
- case MessageS2CPlanetData_packetInfo.type:
- return "type";
- case MessageS2CPlanetData_packetInfo.UNRECOGNIZED:
- default:
- return "UNRECOGNIZED";
- }
-}
-
-export interface MessageS2CModulesUpdate {
- modules: Module[];
-}
-
-export enum MessageS2CModulesUpdate_packetInfo {
- unknown = 0,
- type = 11,
- UNRECOGNIZED = -1,
-}
-
-export function messageS2CModulesUpdate_packetInfoFromJSON(object: any): MessageS2CModulesUpdate_packetInfo {
- switch (object) {
- case 0:
- case "unknown":
- return MessageS2CModulesUpdate_packetInfo.unknown;
- case 11:
- case "type":
- return MessageS2CModulesUpdate_packetInfo.type;
- case -1:
- case "UNRECOGNIZED":
- default:
- return MessageS2CModulesUpdate_packetInfo.UNRECOGNIZED;
- }
-}
-
-export function messageS2CModulesUpdate_packetInfoToJSON(object: MessageS2CModulesUpdate_packetInfo): string {
- switch (object) {
- case MessageS2CModulesUpdate_packetInfo.unknown:
- return "unknown";
- case MessageS2CModulesUpdate_packetInfo.type:
- return "type";
- case MessageS2CModulesUpdate_packetInfo.UNRECOGNIZED:
- default:
- return "UNRECOGNIZED";
- }
-}
-
-export interface MessageS2CModuleTreeUpdate {
- tree: AttachedModule[];
-}
-
-export enum MessageS2CModuleTreeUpdate_packetInfo {
- unknown = 0,
- type = 12,
- UNRECOGNIZED = -1,
-}
-
-export function messageS2CModuleTreeUpdate_packetInfoFromJSON(object: any): MessageS2CModuleTreeUpdate_packetInfo {
- switch (object) {
- case 0:
- case "unknown":
- return MessageS2CModuleTreeUpdate_packetInfo.unknown;
- case 12:
- case "type":
- return MessageS2CModuleTreeUpdate_packetInfo.type;
- case -1:
- case "UNRECOGNIZED":
- default:
- return MessageS2CModuleTreeUpdate_packetInfo.UNRECOGNIZED;
- }
-}
-
-export function messageS2CModuleTreeUpdate_packetInfoToJSON(object: MessageS2CModuleTreeUpdate_packetInfo): string {
- switch (object) {
- case MessageS2CModuleTreeUpdate_packetInfo.unknown:
- return "unknown";
- case MessageS2CModuleTreeUpdate_packetInfo.type:
- return "type";
- case MessageS2CModuleTreeUpdate_packetInfo.UNRECOGNIZED:
- default:
- return "UNRECOGNIZED";
- }
-}
-
-export interface MessageS2CModuleAdd {
- module: AttachedModule | undefined;
-}
-
-export enum MessageS2CModuleAdd_packetInfo {
- unknown = 0,
- type = 13,
- UNRECOGNIZED = -1,
-}
-
-export function messageS2CModuleAdd_packetInfoFromJSON(object: any): MessageS2CModuleAdd_packetInfo {
- switch (object) {
- case 0:
- case "unknown":
- return MessageS2CModuleAdd_packetInfo.unknown;
- case 13:
- case "type":
- return MessageS2CModuleAdd_packetInfo.type;
- case -1:
- case "UNRECOGNIZED":
- default:
- return MessageS2CModuleAdd_packetInfo.UNRECOGNIZED;
- }
-}
-
-export function messageS2CModuleAdd_packetInfoToJSON(object: MessageS2CModuleAdd_packetInfo): string {
- switch (object) {
- case MessageS2CModuleAdd_packetInfo.unknown:
- return "unknown";
- case MessageS2CModuleAdd_packetInfo.type:
- return "type";
- case MessageS2CModuleAdd_packetInfo.UNRECOGNIZED:
- default:
- return "UNRECOGNIZED";
- }
-}
-
-export interface MessageS2CModuleRemove {
- module: Module | undefined;
-}
-
-export enum MessageS2CModuleRemove_packetInfo {
- unknown = 0,
- type = 14,
- UNRECOGNIZED = -1,
-}
-
-export function messageS2CModuleRemove_packetInfoFromJSON(object: any): MessageS2CModuleRemove_packetInfo {
- switch (object) {
- case 0:
- case "unknown":
- return MessageS2CModuleRemove_packetInfo.unknown;
- case 14:
- case "type":
- return MessageS2CModuleRemove_packetInfo.type;
- case -1:
- case "UNRECOGNIZED":
- default:
- return MessageS2CModuleRemove_packetInfo.UNRECOGNIZED;
- }
-}
-
-export function messageS2CModuleRemove_packetInfoToJSON(object: MessageS2CModuleRemove_packetInfo): string {
- switch (object) {
- case MessageS2CModuleRemove_packetInfo.unknown:
- return "unknown";
- case MessageS2CModuleRemove_packetInfo.type:
- return "type";
- case MessageS2CModuleRemove_packetInfo.UNRECOGNIZED:
- default:
- return "UNRECOGNIZED";
- }
-}
-
-function createBaseMessageS2CHello(): MessageS2CHello {
- return { version: 0, givenUsername: "", nextState: 0 };
-}
-
-export const MessageS2CHello = {
- encode(message: MessageS2CHello, writer: _m0.Writer = _m0.Writer.create()): _m0.Writer {
- if (message.version !== 0) {
- writer.uint32(8).uint32(message.version);
- }
- if (message.givenUsername !== "") {
- writer.uint32(18).string(message.givenUsername);
- }
- if (message.nextState !== 0) {
- writer.uint32(24).int32(message.nextState);
- }
- return writer;
- },
-
- decode(input: _m0.Reader | Uint8Array, length?: number): MessageS2CHello {
- const reader = input instanceof _m0.Reader ? input : _m0.Reader.create(input);
- let end = length === undefined ? reader.len : reader.pos + length;
- const message = createBaseMessageS2CHello();
- while (reader.pos < end) {
- const tag = reader.uint32();
- switch (tag >>> 3) {
- case 1:
- if (tag != 8) {
- break;
- }
-
- message.version = reader.uint32();
- continue;
- case 2:
- if (tag != 18) {
- break;
- }
-
- message.givenUsername = reader.string();
- continue;
- case 3:
- if (tag != 24) {
- break;
- }
-
- message.nextState = reader.int32() as any;
- continue;
- }
- if ((tag & 7) == 4 || tag == 0) {
- break;
- }
- reader.skipType(tag & 7);
- }
- return message;
- },
-
- fromJSON(object: any): MessageS2CHello {
- return {
- version: isSet(object.version) ? Number(object.version) : 0,
- givenUsername: isSet(object.givenUsername) ? String(object.givenUsername) : "",
- nextState: isSet(object.nextState) ? stateFromJSON(object.nextState) : 0,
- };
- },
-
- toJSON(message: MessageS2CHello): unknown {
- const obj: any = {};
- message.version !== undefined && (obj.version = Math.round(message.version));
- message.givenUsername !== undefined && (obj.givenUsername = message.givenUsername);
- message.nextState !== undefined && (obj.nextState = stateToJSON(message.nextState));
- return obj;
- },
-
- create<I extends Exact<DeepPartial<MessageS2CHello>, I>>(base?: I): MessageS2CHello {
- return MessageS2CHello.fromPartial(base ?? {});
- },
-
- fromPartial<I extends Exact<DeepPartial<MessageS2CHello>, I>>(object: I): MessageS2CHello {
- const message = createBaseMessageS2CHello();
- message.version = object.version ?? 0;
- message.givenUsername = object.givenUsername ?? "";
- message.nextState = object.nextState ?? 0;
- return message;
- },
-};
-
-function createBaseMessageS2CGoodbye(): MessageS2CGoodbye {
- return { reason: 0 };
-}
-
-export const MessageS2CGoodbye = {
- encode(message: MessageS2CGoodbye, writer: _m0.Writer = _m0.Writer.create()): _m0.Writer {
- if (message.reason !== 0) {
- writer.uint32(8).int32(message.reason);
- }
- return writer;
- },
-
- decode(input: _m0.Reader | Uint8Array, length?: number): MessageS2CGoodbye {
- const reader = input instanceof _m0.Reader ? input : _m0.Reader.create(input);
- let end = length === undefined ? reader.len : reader.pos + length;
- const message = createBaseMessageS2CGoodbye();
- while (reader.pos < end) {
- const tag = reader.uint32();
- switch (tag >>> 3) {
- case 1:
- if (tag != 8) {
- break;
- }
-
- message.reason = reader.int32() as any;
- continue;
- }
- if ((tag & 7) == 4 || tag == 0) {
- break;
- }
- reader.skipType(tag & 7);
- }
- return message;
- },
-
- fromJSON(object: any): MessageS2CGoodbye {
- return { reason: isSet(object.reason) ? goodbyeReasonFromJSON(object.reason) : 0 };
- },
-
- toJSON(message: MessageS2CGoodbye): unknown {
- const obj: any = {};
- message.reason !== undefined && (obj.reason = goodbyeReasonToJSON(message.reason));
- return obj;
- },
-
- create<I extends Exact<DeepPartial<MessageS2CGoodbye>, I>>(base?: I): MessageS2CGoodbye {
- return MessageS2CGoodbye.fromPartial(base ?? {});
- },
-
- fromPartial<I extends Exact<DeepPartial<MessageS2CGoodbye>, I>>(object: I): MessageS2CGoodbye {
- const message = createBaseMessageS2CGoodbye();
- message.reason = object.reason ?? 0;
- return message;
- },
-};
-
-function createBaseMessageS2CChat(): MessageS2CChat {
- return { from: "", message: "" };
-}
-
-export const MessageS2CChat = {
- encode(message: MessageS2CChat, writer: _m0.Writer = _m0.Writer.create()): _m0.Writer {
- if (message.from !== "") {
- writer.uint32(10).string(message.from);
- }
- if (message.message !== "") {
- writer.uint32(18).string(message.message);
- }
- return writer;
- },
-
- decode(input: _m0.Reader | Uint8Array, length?: number): MessageS2CChat {
- const reader = input instanceof _m0.Reader ? input : _m0.Reader.create(input);
- let end = length === undefined ? reader.len : reader.pos + length;
- const message = createBaseMessageS2CChat();
- while (reader.pos < end) {
- const tag = reader.uint32();
- switch (tag >>> 3) {
- case 1:
- if (tag != 10) {
- break;
- }
-
- message.from = reader.string();
- continue;
- case 2:
- if (tag != 18) {
- break;
- }
-
- message.message = reader.string();
- continue;
- }
- if ((tag & 7) == 4 || tag == 0) {
- break;
- }
- reader.skipType(tag & 7);
- }
- return message;
- },
-
- fromJSON(object: any): MessageS2CChat {
- return {
- from: isSet(object.from) ? String(object.from) : "",
- message: isSet(object.message) ? String(object.message) : "",
- };
- },
-
- toJSON(message: MessageS2CChat): unknown {
- const obj: any = {};
- message.from !== undefined && (obj.from = message.from);
- message.message !== undefined && (obj.message = message.message);
- return obj;
- },
-
- create<I extends Exact<DeepPartial<MessageS2CChat>, I>>(base?: I): MessageS2CChat {
- return MessageS2CChat.fromPartial(base ?? {});
- },
-
- fromPartial<I extends Exact<DeepPartial<MessageS2CChat>, I>>(object: I): MessageS2CChat {
- const message = createBaseMessageS2CChat();
- message.from = object.from ?? "";
- message.message = object.message ?? "";
- return message;
- },
-};
-
-function createBaseMessageS2CPong(): MessageS2CPong {
- return {};
-}
-
-export const MessageS2CPong = {
- encode(_: MessageS2CPong, writer: _m0.Writer = _m0.Writer.create()): _m0.Writer {
- return writer;
- },
-
- decode(input: _m0.Reader | Uint8Array, length?: number): MessageS2CPong {
- const reader = input instanceof _m0.Reader ? input : _m0.Reader.create(input);
- let end = length === undefined ? reader.len : reader.pos + length;
- const message = createBaseMessageS2CPong();
- while (reader.pos < end) {
- const tag = reader.uint32();
- switch (tag >>> 3) {
- }
- if ((tag & 7) == 4 || tag == 0) {
- break;
- }
- reader.skipType(tag & 7);
- }
- return message;
- },
-
- fromJSON(_: any): MessageS2CPong {
- return {};
- },
-
- toJSON(_: MessageS2CPong): unknown {
- const obj: any = {};
- return obj;
- },
-
- create<I extends Exact<DeepPartial<MessageS2CPong>, I>>(base?: I): MessageS2CPong {
- return MessageS2CPong.fromPartial(base ?? {});
- },
-
- fromPartial<I extends Exact<DeepPartial<MessageS2CPong>, I>>(_: I): MessageS2CPong {
- const message = createBaseMessageS2CPong();
- return message;
- },
-};
-
-function createBaseMessageS2CPlayersUpdate(): MessageS2CPlayersUpdate {
- return { players: [] };
-}
-
-export const MessageS2CPlayersUpdate = {
- encode(message: MessageS2CPlayersUpdate, writer: _m0.Writer = _m0.Writer.create()): _m0.Writer {
- for (const v of message.players) {
- Player.encode(v!, writer.uint32(10).fork()).ldelim();
- }
- return writer;
- },
-
- decode(input: _m0.Reader | Uint8Array, length?: number): MessageS2CPlayersUpdate {
- const reader = input instanceof _m0.Reader ? input : _m0.Reader.create(input);
- let end = length === undefined ? reader.len : reader.pos + length;
- const message = createBaseMessageS2CPlayersUpdate();
- while (reader.pos < end) {
- const tag = reader.uint32();
- switch (tag >>> 3) {
- case 1:
- if (tag != 10) {
- break;
- }
-
- message.players.push(Player.decode(reader, reader.uint32()));
- continue;
- }
- if ((tag & 7) == 4 || tag == 0) {
- break;
- }
- reader.skipType(tag & 7);
- }
- return message;
- },
-
- fromJSON(object: any): MessageS2CPlayersUpdate {
- return { players: Array.isArray(object?.players) ? object.players.map((e: any) => Player.fromJSON(e)) : [] };
- },
-
- toJSON(message: MessageS2CPlayersUpdate): unknown {
- const obj: any = {};
- if (message.players) {
- obj.players = message.players.map((e) => e ? Player.toJSON(e) : undefined);
- } else {
- obj.players = [];
- }
- return obj;
- },
-
- create<I extends Exact<DeepPartial<MessageS2CPlayersUpdate>, I>>(base?: I): MessageS2CPlayersUpdate {
- return MessageS2CPlayersUpdate.fromPartial(base ?? {});
- },
-
- fromPartial<I extends Exact<DeepPartial<MessageS2CPlayersUpdate>, I>>(object: I): MessageS2CPlayersUpdate {
- const message = createBaseMessageS2CPlayersUpdate();
- message.players = object.players?.map((e) => Player.fromPartial(e)) || [];
- return message;
- },
-};
-
-function createBaseMessageS2CPlanetData(): MessageS2CPlanetData {
- return { planets: [] };
-}
-
-export const MessageS2CPlanetData = {
- encode(message: MessageS2CPlanetData, writer: _m0.Writer = _m0.Writer.create()): _m0.Writer {
- for (const v of message.planets) {
- Planet.encode(v!, writer.uint32(10).fork()).ldelim();
- }
- return writer;
- },
-
- decode(input: _m0.Reader | Uint8Array, length?: number): MessageS2CPlanetData {
- const reader = input instanceof _m0.Reader ? input : _m0.Reader.create(input);
- let end = length === undefined ? reader.len : reader.pos + length;
- const message = createBaseMessageS2CPlanetData();
- while (reader.pos < end) {
- const tag = reader.uint32();
- switch (tag >>> 3) {
- case 1:
- if (tag != 10) {
- break;
- }
-
- message.planets.push(Planet.decode(reader, reader.uint32()));
- continue;
- }
- if ((tag & 7) == 4 || tag == 0) {
- break;
- }
- reader.skipType(tag & 7);
- }
- return message;
- },
-
- fromJSON(object: any): MessageS2CPlanetData {
- return { planets: Array.isArray(object?.planets) ? object.planets.map((e: any) => Planet.fromJSON(e)) : [] };
- },
-
- toJSON(message: MessageS2CPlanetData): unknown {
- const obj: any = {};
- if (message.planets) {
- obj.planets = message.planets.map((e) => e ? Planet.toJSON(e) : undefined);
- } else {
- obj.planets = [];
- }
- return obj;
- },
-
- create<I extends Exact<DeepPartial<MessageS2CPlanetData>, I>>(base?: I): MessageS2CPlanetData {
- return MessageS2CPlanetData.fromPartial(base ?? {});
- },
-
- fromPartial<I extends Exact<DeepPartial<MessageS2CPlanetData>, I>>(object: I): MessageS2CPlanetData {
- const message = createBaseMessageS2CPlanetData();
- message.planets = object.planets?.map((e) => Planet.fromPartial(e)) || [];
- return message;
- },
-};
-
-function createBaseMessageS2CModulesUpdate(): MessageS2CModulesUpdate {
- return { modules: [] };
-}
-
-export const MessageS2CModulesUpdate = {
- encode(message: MessageS2CModulesUpdate, writer: _m0.Writer = _m0.Writer.create()): _m0.Writer {
- for (const v of message.modules) {
- Module.encode(v!, writer.uint32(10).fork()).ldelim();
- }
- return writer;
- },
-
- decode(input: _m0.Reader | Uint8Array, length?: number): MessageS2CModulesUpdate {
- const reader = input instanceof _m0.Reader ? input : _m0.Reader.create(input);
- let end = length === undefined ? reader.len : reader.pos + length;
- const message = createBaseMessageS2CModulesUpdate();
- while (reader.pos < end) {
- const tag = reader.uint32();
- switch (tag >>> 3) {
- case 1:
- if (tag != 10) {
- break;
- }
-
- message.modules.push(Module.decode(reader, reader.uint32()));
- continue;
- }
- if ((tag & 7) == 4 || tag == 0) {
- break;
- }
- reader.skipType(tag & 7);
- }
- return message;
- },
-
- fromJSON(object: any): MessageS2CModulesUpdate {
- return { modules: Array.isArray(object?.modules) ? object.modules.map((e: any) => Module.fromJSON(e)) : [] };
- },
-
- toJSON(message: MessageS2CModulesUpdate): unknown {
- const obj: any = {};
- if (message.modules) {
- obj.modules = message.modules.map((e) => e ? Module.toJSON(e) : undefined);
- } else {
- obj.modules = [];
- }
- return obj;
- },
-
- create<I extends Exact<DeepPartial<MessageS2CModulesUpdate>, I>>(base?: I): MessageS2CModulesUpdate {
- return MessageS2CModulesUpdate.fromPartial(base ?? {});
- },
-
- fromPartial<I extends Exact<DeepPartial<MessageS2CModulesUpdate>, I>>(object: I): MessageS2CModulesUpdate {
- const message = createBaseMessageS2CModulesUpdate();
- message.modules = object.modules?.map((e) => Module.fromPartial(e)) || [];
- return message;
- },
-};
-
-function createBaseMessageS2CModuleTreeUpdate(): MessageS2CModuleTreeUpdate {
- return { tree: [] };
-}
-
-export const MessageS2CModuleTreeUpdate = {
- encode(message: MessageS2CModuleTreeUpdate, writer: _m0.Writer = _m0.Writer.create()): _m0.Writer {
- for (const v of message.tree) {
- AttachedModule.encode(v!, writer.uint32(10).fork()).ldelim();
- }
- return writer;
- },
-
- decode(input: _m0.Reader | Uint8Array, length?: number): MessageS2CModuleTreeUpdate {
- const reader = input instanceof _m0.Reader ? input : _m0.Reader.create(input);
- let end = length === undefined ? reader.len : reader.pos + length;
- const message = createBaseMessageS2CModuleTreeUpdate();
- while (reader.pos < end) {
- const tag = reader.uint32();
- switch (tag >>> 3) {
- case 1:
- if (tag != 10) {
- break;
- }
-
- message.tree.push(AttachedModule.decode(reader, reader.uint32()));
- continue;
- }
- if ((tag & 7) == 4 || tag == 0) {
- break;
- }
- reader.skipType(tag & 7);
- }
- return message;
- },
-
- fromJSON(object: any): MessageS2CModuleTreeUpdate {
- return { tree: Array.isArray(object?.tree) ? object.tree.map((e: any) => AttachedModule.fromJSON(e)) : [] };
- },
-
- toJSON(message: MessageS2CModuleTreeUpdate): unknown {
- const obj: any = {};
- if (message.tree) {
- obj.tree = message.tree.map((e) => e ? AttachedModule.toJSON(e) : undefined);
- } else {
- obj.tree = [];
- }
- return obj;
- },
-
- create<I extends Exact<DeepPartial<MessageS2CModuleTreeUpdate>, I>>(base?: I): MessageS2CModuleTreeUpdate {
- return MessageS2CModuleTreeUpdate.fromPartial(base ?? {});
- },
-
- fromPartial<I extends Exact<DeepPartial<MessageS2CModuleTreeUpdate>, I>>(object: I): MessageS2CModuleTreeUpdate {
- const message = createBaseMessageS2CModuleTreeUpdate();
- message.tree = object.tree?.map((e) => AttachedModule.fromPartial(e)) || [];
- return message;
- },
-};
-
-function createBaseMessageS2CModuleAdd(): MessageS2CModuleAdd {
- return { module: undefined };
-}
-
-export const MessageS2CModuleAdd = {
- encode(message: MessageS2CModuleAdd, writer: _m0.Writer = _m0.Writer.create()): _m0.Writer {
- if (message.module !== undefined) {
- AttachedModule.encode(message.module, writer.uint32(10).fork()).ldelim();
- }
- return writer;
- },
-
- decode(input: _m0.Reader | Uint8Array, length?: number): MessageS2CModuleAdd {
- const reader = input instanceof _m0.Reader ? input : _m0.Reader.create(input);
- let end = length === undefined ? reader.len : reader.pos + length;
- const message = createBaseMessageS2CModuleAdd();
- while (reader.pos < end) {
- const tag = reader.uint32();
- switch (tag >>> 3) {
- case 1:
- if (tag != 10) {
- break;
- }
-
- message.module = AttachedModule.decode(reader, reader.uint32());
- continue;
- }
- if ((tag & 7) == 4 || tag == 0) {
- break;
- }
- reader.skipType(tag & 7);
- }
- return message;
- },
-
- fromJSON(object: any): MessageS2CModuleAdd {
- return { module: isSet(object.module) ? AttachedModule.fromJSON(object.module) : undefined };
- },
-
- toJSON(message: MessageS2CModuleAdd): unknown {
- const obj: any = {};
- message.module !== undefined && (obj.module = message.module ? AttachedModule.toJSON(message.module) : undefined);
- return obj;
- },
-
- create<I extends Exact<DeepPartial<MessageS2CModuleAdd>, I>>(base?: I): MessageS2CModuleAdd {
- return MessageS2CModuleAdd.fromPartial(base ?? {});
- },
-
- fromPartial<I extends Exact<DeepPartial<MessageS2CModuleAdd>, I>>(object: I): MessageS2CModuleAdd {
- const message = createBaseMessageS2CModuleAdd();
- message.module = (object.module !== undefined && object.module !== null)
- ? AttachedModule.fromPartial(object.module)
- : undefined;
- return message;
- },
-};
-
-function createBaseMessageS2CModuleRemove(): MessageS2CModuleRemove {
- return { module: undefined };
-}
-
-export const MessageS2CModuleRemove = {
- encode(message: MessageS2CModuleRemove, writer: _m0.Writer = _m0.Writer.create()): _m0.Writer {
- if (message.module !== undefined) {
- Module.encode(message.module, writer.uint32(10).fork()).ldelim();
- }
- return writer;
- },
-
- decode(input: _m0.Reader | Uint8Array, length?: number): MessageS2CModuleRemove {
- const reader = input instanceof _m0.Reader ? input : _m0.Reader.create(input);
- let end = length === undefined ? reader.len : reader.pos + length;
- const message = createBaseMessageS2CModuleRemove();
- while (reader.pos < end) {
- const tag = reader.uint32();
- switch (tag >>> 3) {
- case 1:
- if (tag != 10) {
- break;
- }
-
- message.module = Module.decode(reader, reader.uint32());
- continue;
- }
- if ((tag & 7) == 4 || tag == 0) {
- break;
- }
- reader.skipType(tag & 7);
- }
- return message;
- },
-
- fromJSON(object: any): MessageS2CModuleRemove {
- return { module: isSet(object.module) ? Module.fromJSON(object.module) : undefined };
- },
-
- toJSON(message: MessageS2CModuleRemove): unknown {
- const obj: any = {};
- message.module !== undefined && (obj.module = message.module ? Module.toJSON(message.module) : undefined);
- return obj;
- },
-
- create<I extends Exact<DeepPartial<MessageS2CModuleRemove>, I>>(base?: I): MessageS2CModuleRemove {
- return MessageS2CModuleRemove.fromPartial(base ?? {});
- },
-
- fromPartial<I extends Exact<DeepPartial<MessageS2CModuleRemove>, I>>(object: I): MessageS2CModuleRemove {
- const message = createBaseMessageS2CModuleRemove();
- message.module = (object.module !== undefined && object.module !== null)
- ? Module.fromPartial(object.module)
- : undefined;
- return message;
- },
-};
-
-type Builtin = Date | Function | Uint8Array | string | number | boolean | undefined;
-
-export type DeepPartial<T> = T extends Builtin ? T
- : T extends Array<infer U> ? Array<DeepPartial<U>> : T extends ReadonlyArray<infer U> ? ReadonlyArray<DeepPartial<U>>
- : T extends {} ? { [K in keyof T]?: DeepPartial<T[K]> }
- : Partial<T>;
-
-type KeysOfUnion<T> = T extends T ? keyof T : never;
-export type Exact<P, I extends P> = P extends Builtin ? P
- : P & { [K in keyof P]: Exact<P[K], I[K]> } & { [K in Exclude<keyof I, KeysOfUnion<P>>]: never };
-
-function isSet(value: any): boolean {
- return value !== null && value !== undefined;
-}
D client/src/protocol/module.ts => client/src/protocol/module.ts +0 -429
@@ 1,429 0,0 @@
-//@ts-nocheck
-import * as _m0 from "protobufjs/minimal";
-
-export const protobufPackage = "protocol.module";
-
-export enum ModuleType {
- UNKNOWN = 0,
- Cargo = 1,
- LandingThruster = 2,
- LandingThrusterSuspension = 3,
- Hub = 4,
- UNRECOGNIZED = -1,
-}
-
-export function moduleTypeFromJSON(object: any): ModuleType {
- switch (object) {
- case 0:
- case "UNKNOWN":
- return ModuleType.UNKNOWN;
- case 1:
- case "Cargo":
- return ModuleType.Cargo;
- case 2:
- case "LandingThruster":
- return ModuleType.LandingThruster;
- case 3:
- case "LandingThrusterSuspension":
- return ModuleType.LandingThrusterSuspension;
- case 4:
- case "Hub":
- return ModuleType.Hub;
- case -1:
- case "UNRECOGNIZED":
- default:
- return ModuleType.UNRECOGNIZED;
- }
-}
-
-export function moduleTypeToJSON(object: ModuleType): string {
- switch (object) {
- case ModuleType.UNKNOWN:
- return "UNKNOWN";
- case ModuleType.Cargo:
- return "Cargo";
- case ModuleType.LandingThruster:
- return "LandingThruster";
- case ModuleType.LandingThrusterSuspension:
- return "LandingThrusterSuspension";
- case ModuleType.Hub:
- return "Hub";
- case ModuleType.UNRECOGNIZED:
- default:
- return "UNRECOGNIZED";
- }
-}
-
-export interface Module {
- moduleType: ModuleType;
- rotation: number;
- x: number;
- y: number;
- id: number;
- flags: number;
- children: Attachment[];
-}
-
-export interface AttachedModule {
- moduleType: ModuleType;
- rotation: number;
- x: number;
- y: number;
- id: number;
- children: Attachment[];
-}
-
-export interface Attachment {
- id: number;
- slot: number;
-}
-
-function createBaseModule(): Module {
- return { moduleType: 0, rotation: 0, x: 0, y: 0, id: 0, flags: 0, children: [] };
-}
-
-export const Module = {
- encode(message: Module, writer: _m0.Writer = _m0.Writer.create()): _m0.Writer {
- if (message.moduleType !== 0) {
- writer.uint32(8).int32(message.moduleType);
- }
- if (message.rotation !== 0) {
- writer.uint32(17).double(message.rotation);
- }
- if (message.x !== 0) {
- writer.uint32(25).double(message.x);
- }
- if (message.y !== 0) {
- writer.uint32(33).double(message.y);
- }
- if (message.id !== 0) {
- writer.uint32(40).uint32(message.id);
- }
- if (message.flags !== 0) {
- writer.uint32(48).uint32(message.flags);
- }
- for (const v of message.children) {
- Attachment.encode(v!, writer.uint32(58).fork()).ldelim();
- }
- return writer;
- },
-
- decode(input: _m0.Reader | Uint8Array, length?: number): Module {
- const reader = input instanceof _m0.Reader ? input : _m0.Reader.create(input);
- let end = length === undefined ? reader.len : reader.pos + length;
- const message = createBaseModule();
- while (reader.pos < end) {
- const tag = reader.uint32();
- switch (tag >>> 3) {
- case 1:
- if (tag != 8) {
- break;
- }
-
- message.moduleType = reader.int32() as any;
- continue;
- case 2:
- if (tag != 17) {
- break;
- }
-
- message.rotation = reader.double();
- continue;
- case 3:
- if (tag != 25) {
- break;
- }
-
- message.x = reader.double();
- continue;
- case 4:
- if (tag != 33) {
- break;
- }
-
- message.y = reader.double();
- continue;
- case 5:
- if (tag != 40) {
- break;
- }
-
- message.id = reader.uint32();
- continue;
- case 6:
- if (tag != 48) {
- break;
- }
-
- message.flags = reader.uint32();
- continue;
- case 7:
- if (tag != 58) {
- break;
- }
-
- message.children.push(Attachment.decode(reader, reader.uint32()));
- continue;
- }
- if ((tag & 7) == 4 || tag == 0) {
- break;
- }
- reader.skipType(tag & 7);
- }
- return message;
- },
-
- fromJSON(object: any): Module {
- return {
- moduleType: isSet(object.moduleType) ? moduleTypeFromJSON(object.moduleType) : 0,
- rotation: isSet(object.rotation) ? Number(object.rotation) : 0,
- x: isSet(object.x) ? Number(object.x) : 0,
- y: isSet(object.y) ? Number(object.y) : 0,
- id: isSet(object.id) ? Number(object.id) : 0,
- flags: isSet(object.flags) ? Number(object.flags) : 0,
- children: Array.isArray(object?.children) ? object.children.map((e: any) => Attachment.fromJSON(e)) : [],
- };
- },
-
- toJSON(message: Module): unknown {
- const obj: any = {};
- message.moduleType !== undefined && (obj.moduleType = moduleTypeToJSON(message.moduleType));
- message.rotation !== undefined && (obj.rotation = message.rotation);
- message.x !== undefined && (obj.x = message.x);
- message.y !== undefined && (obj.y = message.y);
- message.id !== undefined && (obj.id = Math.round(message.id));
- message.flags !== undefined && (obj.flags = Math.round(message.flags));
- if (message.children) {
- obj.children = message.children.map((e) => e ? Attachment.toJSON(e) : undefined);
- } else {
- obj.children = [];
- }
- return obj;
- },
-
- create<I extends Exact<DeepPartial<Module>, I>>(base?: I): Module {
- return Module.fromPartial(base ?? {});
- },
-
- fromPartial<I extends Exact<DeepPartial<Module>, I>>(object: I): Module {
- const message = createBaseModule();
- message.moduleType = object.moduleType ?? 0;
- message.rotation = object.rotation ?? 0;
- message.x = object.x ?? 0;
- message.y = object.y ?? 0;
- message.id = object.id ?? 0;
- message.flags = object.flags ?? 0;
- message.children = object.children?.map((e) => Attachment.fromPartial(e)) || [];
- return message;
- },
-};
-
-function createBaseAttachedModule(): AttachedModule {
- return { moduleType: 0, rotation: 0, x: 0, y: 0, id: 0, children: [] };
-}
-
-export const AttachedModule = {
- encode(message: AttachedModule, writer: _m0.Writer = _m0.Writer.create()): _m0.Writer {
- if (message.moduleType !== 0) {
- writer.uint32(8).int32(message.moduleType);
- }
- if (message.rotation !== 0) {
- writer.uint32(17).double(message.rotation);
- }
- if (message.x !== 0) {
- writer.uint32(25).double(message.x);
- }
- if (message.y !== 0) {
- writer.uint32(33).double(message.y);
- }
- if (message.id !== 0) {
- writer.uint32(40).uint32(message.id);
- }
- for (const v of message.children) {
- Attachment.encode(v!, writer.uint32(50).fork()).ldelim();
- }
- return writer;
- },
-
- decode(input: _m0.Reader | Uint8Array, length?: number): AttachedModule {
- const reader = input instanceof _m0.Reader ? input : _m0.Reader.create(input);
- let end = length === undefined ? reader.len : reader.pos + length;
- const message = createBaseAttachedModule();
- while (reader.pos < end) {
- const tag = reader.uint32();
- switch (tag >>> 3) {
- case 1:
- if (tag != 8) {
- break;
- }
-
- message.moduleType = reader.int32() as any;
- continue;
- case 2:
- if (tag != 17) {
- break;
- }
-
- message.rotation = reader.double();
- continue;
- case 3:
- if (tag != 25) {
- break;
- }
-
- message.x = reader.double();
- continue;
- case 4:
- if (tag != 33) {
- break;
- }
-
- message.y = reader.double();
- continue;
- case 5:
- if (tag != 40) {
- break;
- }
-
- message.id = reader.uint32();
- continue;
- case 6:
- if (tag != 50) {
- break;
- }
-
- message.children.push(Attachment.decode(reader, reader.uint32()));
- continue;
- }
- if ((tag & 7) == 4 || tag == 0) {
- break;
- }
- reader.skipType(tag & 7);
- }
- return message;
- },
-
- fromJSON(object: any): AttachedModule {
- return {
- moduleType: isSet(object.moduleType) ? moduleTypeFromJSON(object.moduleType) : 0,
- rotation: isSet(object.rotation) ? Number(object.rotation) : 0,
- x: isSet(object.x) ? Number(object.x) : 0,
- y: isSet(object.y) ? Number(object.y) : 0,
- id: isSet(object.id) ? Number(object.id) : 0,
- children: Array.isArray(object?.children) ? object.children.map((e: any) => Attachment.fromJSON(e)) : [],
- };
- },
-
- toJSON(message: AttachedModule): unknown {
- const obj: any = {};
- message.moduleType !== undefined && (obj.moduleType = moduleTypeToJSON(message.moduleType));
- message.rotation !== undefined && (obj.rotation = message.rotation);
- message.x !== undefined && (obj.x = message.x);
- message.y !== undefined && (obj.y = message.y);
- message.id !== undefined && (obj.id = Math.round(message.id));
- if (message.children) {
- obj.children = message.children.map((e) => e ? Attachment.toJSON(e) : undefined);
- } else {
- obj.children = [];
- }
- return obj;
- },
-
- create<I extends Exact<DeepPartial<AttachedModule>, I>>(base?: I): AttachedModule {
- return AttachedModule.fromPartial(base ?? {});
- },
-
- fromPartial<I extends Exact<DeepPartial<AttachedModule>, I>>(object: I): AttachedModule {
- const message = createBaseAttachedModule();
- message.moduleType = object.moduleType ?? 0;
- message.rotation = object.rotation ?? 0;
- message.x = object.x ?? 0;
- message.y = object.y ?? 0;
- message.id = object.id ?? 0;
- message.children = object.children?.map((e) => Attachment.fromPartial(e)) || [];
- return message;
- },
-};
-
-function createBaseAttachment(): Attachment {
- return { id: 0, slot: 0 };
-}
-
-export const Attachment = {
- encode(message: Attachment, writer: _m0.Writer = _m0.Writer.create()): _m0.Writer {
- if (message.id !== 0) {
- writer.uint32(8).uint32(message.id);
- }
- if (message.slot !== 0) {
- writer.uint32(16).uint32(message.slot);
- }
- return writer;
- },
-
- decode(input: _m0.Reader | Uint8Array, length?: number): Attachment {
- const reader = input instanceof _m0.Reader ? input : _m0.Reader.create(input);
- let end = length === undefined ? reader.len : reader.pos + length;
- const message = createBaseAttachment();
- while (reader.pos < end) {
- const tag = reader.uint32();
- switch (tag >>> 3) {
- case 1:
- if (tag != 8) {
- break;
- }
-
- message.id = reader.uint32();
- continue;
- case 2:
- if (tag != 16) {
- break;
- }
-
- message.slot = reader.uint32();
- continue;
- }
- if ((tag & 7) == 4 || tag == 0) {
- break;
- }
- reader.skipType(tag & 7);
- }
- return message;
- },
-
- fromJSON(object: any): Attachment {
- return { id: isSet(object.id) ? Number(object.id) : 0, slot: isSet(object.slot) ? Number(object.slot) : 0 };
- },
-
- toJSON(message: Attachment): unknown {
- const obj: any = {};
- message.id !== undefined && (obj.id = Math.round(message.id));
- message.slot !== undefined && (obj.slot = Math.round(message.slot));
- return obj;
- },
-
- create<I extends Exact<DeepPartial<Attachment>, I>>(base?: I): Attachment {
- return Attachment.fromPartial(base ?? {});
- },
-
- fromPartial<I extends Exact<DeepPartial<Attachment>, I>>(object: I): Attachment {
- const message = createBaseAttachment();
- message.id = object.id ?? 0;
- message.slot = object.slot ?? 0;
- return message;
- },
-};
-
-type Builtin = Date | Function | Uint8Array | string | number | boolean | undefined;
-
-export type DeepPartial<T> = T extends Builtin ? T
- : T extends Array<infer U> ? Array<DeepPartial<U>> : T extends ReadonlyArray<infer U> ? ReadonlyArray<DeepPartial<U>>
- : T extends {} ? { [K in keyof T]?: DeepPartial<T[K]> }
- : Partial<T>;
-
-type KeysOfUnion<T> = T extends T ? keyof T : never;
-export type Exact<P, I extends P> = P extends Builtin ? P
- : P & { [K in keyof P]: Exact<P[K], I[K]> } & { [K in Exclude<keyof I, KeysOfUnion<P>>]: never };
-
-function isSet(value: any): boolean {
- return value !== null && value !== undefined;
-}
D client/src/protocol/planet.ts => client/src/protocol/planet.ts +0 -172
@@ 1,172 0,0 @@
-//@ts-nocheck
-import * as _m0 from "protobufjs/minimal";
-
-export const protobufPackage = "protocol.planet";
-
-export enum PlanetType {
- UNKNOWN = 0,
- Earth = 1,
- Moon = 2,
- Mars = 3,
- UNRECOGNIZED = -1,
-}
-
-export function planetTypeFromJSON(object: any): PlanetType {
- switch (object) {
- case 0:
- case "UNKNOWN":
- return PlanetType.UNKNOWN;
- case 1:
- case "Earth":
- return PlanetType.Earth;
- case 2:
- case "Moon":
- return PlanetType.Moon;
- case 3:
- case "Mars":
- return PlanetType.Mars;
- case -1:
- case "UNRECOGNIZED":
- default:
- return PlanetType.UNRECOGNIZED;
- }
-}
-
-export function planetTypeToJSON(object: PlanetType): string {
- switch (object) {
- case PlanetType.UNKNOWN:
- return "UNKNOWN";
- case PlanetType.Earth:
- return "Earth";
- case PlanetType.Moon:
- return "Moon";
- case PlanetType.Mars:
- return "Mars";
- case PlanetType.UNRECOGNIZED:
- default:
- return "UNRECOGNIZED";
- }
-}
-
-export interface Planet {
- /** Type of the planet */
- planetType: PlanetType;
- /** Translation on the X axis, in game units */
- x: number;
- /** Translation on the Y axis, in game units */
- y: number;
- /** The radius of the planet extending out from (x, y) */
- radius: number;
-}
-
-function createBasePlanet(): Planet {
- return { planetType: 0, x: 0, y: 0, radius: 0 };
-}
-
-export const Planet = {
- encode(message: Planet, writer: _m0.Writer = _m0.Writer.create()): _m0.Writer {
- if (message.planetType !== 0) {
- writer.uint32(8).int32(message.planetType);
- }
- if (message.x !== 0) {
- writer.uint32(17).double(message.x);
- }
- if (message.y !== 0) {
- writer.uint32(25).double(message.y);
- }
- if (message.radius !== 0) {
- writer.uint32(33).double(message.radius);
- }
- return writer;
- },
-
- decode(input: _m0.Reader | Uint8Array, length?: number): Planet {
- const reader = input instanceof _m0.Reader ? input : _m0.Reader.create(input);
- let end = length === undefined ? reader.len : reader.pos + length;
- const message = createBasePlanet();
- while (reader.pos < end) {
- const tag = reader.uint32();
- switch (tag >>> 3) {
- case 1:
- if (tag != 8) {
- break;
- }
-
- message.planetType = reader.int32() as any;
- continue;
- case 2:
- if (tag != 17) {
- break;
- }
-
- message.x = reader.double();
- continue;
- case 3:
- if (tag != 25) {
- break;
- }
-
- message.y = reader.double();
- continue;
- case 4:
- if (tag != 33) {
- break;
- }
-
- message.radius = reader.double();
- continue;
- }
- if ((tag & 7) == 4 || tag == 0) {
- break;
- }
- reader.skipType(tag & 7);
- }
- return message;
- },
-
- fromJSON(object: any): Planet {
- return {
- planetType: isSet(object.planetType) ? planetTypeFromJSON(object.planetType) : 0,
- x: isSet(object.x) ? Number(object.x) : 0,
- y: isSet(object.y) ? Number(object.y) : 0,
- radius: isSet(object.radius) ? Number(object.radius) : 0,
- };
- },
-
- toJSON(message: Planet): unknown {
- const obj: any = {};
- message.planetType !== undefined && (obj.planetType = planetTypeToJSON(message.planetType));
- message.x !== undefined && (obj.x = message.x);
- message.y !== undefined && (obj.y = message.y);
- message.radius !== undefined && (obj.radius = message.radius);
- return obj;
- },
-
- create<I extends Exact<DeepPartial<Planet>, I>>(base?: I): Planet {
- return Planet.fromPartial(base ?? {});
- },
-
- fromPartial<I extends Exact<DeepPartial<Planet>, I>>(object: I): Planet {
- const message = createBasePlanet();
- message.planetType = object.planetType ?? 0;
- message.x = object.x ?? 0;
- message.y = object.y ?? 0;
- message.radius = object.radius ?? 0;
- return message;
- },
-};
-
-type Builtin = Date | Function | Uint8Array | string | number | boolean | undefined;
-
-export type DeepPartial<T> = T extends Builtin ? T
- : T extends Array<infer U> ? Array<DeepPartial<U>> : T extends ReadonlyArray<infer U> ? ReadonlyArray<DeepPartial<U>>
- : T extends {} ? { [K in keyof T]?: DeepPartial<T[K]> }
- : Partial<T>;
-
-type KeysOfUnion<T> = T extends T ? keyof T : never;
-export type Exact<P, I extends P> = P extends Builtin ? P
- : P & { [K in keyof P]: Exact<P[K], I[K]> } & { [K in Exclude<keyof I, KeysOfUnion<P>>]: never };
-
-function isSet(value: any): boolean {
- return value !== null && value !== undefined;
-}
D client/src/protocol/player.ts => client/src/protocol/player.ts +0 -127
@@ 1,127 0,0 @@
-//@ts-nocheck
-import * as _m0 from "protobufjs/minimal";
-
-export const protobufPackage = "protocol.player";
-
-export interface Player {
- /** The rotation, clockwise, in degrees, of the player */
- rotation: number;
- /** The translation on the X axis, in game units, of the player */
- x: number;
- /** The translation on the Y axis, in game units, of the player */
- y: number;
- /** The username of the player */
- username: string;
-}
-
-function createBasePlayer(): Player {
- return { rotation: 0, x: 0, y: 0, username: "" };
-}
-
-export const Player = {
- encode(message: Player, writer: _m0.Writer = _m0.Writer.create()): _m0.Writer {
- if (message.rotation !== 0) {
- writer.uint32(9).double(message.rotation);
- }
- if (message.x !== 0) {
- writer.uint32(17).double(message.x);
- }
- if (message.y !== 0) {
- writer.uint32(25).double(message.y);
- }
- if (message.username !== "") {
- writer.uint32(34).string(message.username);
- }
- return writer;
- },
-
- decode(input: _m0.Reader | Uint8Array, length?: number): Player {
- const reader = input instanceof _m0.Reader ? input : _m0.Reader.create(input);
- let end = length === undefined ? reader.len : reader.pos + length;
- const message = createBasePlayer();
- while (reader.pos < end) {
- const tag = reader.uint32();
- switch (tag >>> 3) {
- case 1:
- if (tag != 9) {
- break;
- }
-
- message.rotation = reader.double();
- continue;
- case 2:
- if (tag != 17) {
- break;
- }
-
- message.x = reader.double();
- continue;
- case 3:
- if (tag != 25) {
- break;
- }
-
- message.y = reader.double();
- continue;
- case 4:
- if (tag != 34) {
- break;
- }
-
- message.username = reader.string();
- continue;
- }
- if ((tag & 7) == 4 || tag == 0) {
- break;
- }
- reader.skipType(tag & 7);
- }
- return message;
- },
-
- fromJSON(object: any): Player {
- return {
- rotation: isSet(object.rotation) ? Number(object.rotation) : 0,
- x: isSet(object.x) ? Number(object.x) : 0,
- y: isSet(object.y) ? Number(object.y) : 0,
- username: isSet(object.username) ? String(object.username) : "",
- };
- },
-
- toJSON(message: Player): unknown {
- const obj: any = {};
- message.rotation !== undefined && (obj.rotation = message.rotation);
- message.x !== undefined && (obj.x = message.x);
- message.y !== undefined && (obj.y = message.y);
- message.username !== undefined && (obj.username = message.username);
- return obj;
- },
-
- create<I extends Exact<DeepPartial<Player>, I>>(base?: I): Player {
- return Player.fromPartial(base ?? {});
- },
-
- fromPartial<I extends Exact<DeepPartial<Player>, I>>(object: I): Player {
- const message = createBasePlayer();
- message.rotation = object.rotation ?? 0;
- message.x = object.x ?? 0;
- message.y = object.y ?? 0;
- message.username = object.username ?? "";
- return message;
- },
-};
-
-type Builtin = Date | Function | Uint8Array | string | number | boolean | undefined;
-
-export type DeepPartial<T> = T extends Builtin ? T
- : T extends Array<infer U> ? Array<DeepPartial<U>> : T extends ReadonlyArray<infer U> ? ReadonlyArray<DeepPartial<U>>
- : T extends {} ? { [K in keyof T]?: DeepPartial<T[K]> }
- : Partial<T>;
-
-type KeysOfUnion<T> = T extends T ? keyof T : never;
-export type Exact<P, I extends P> = P extends Builtin ? P
- : P & { [K in keyof P]: Exact<P[K], I[K]> } & { [K in Exclude<keyof I, KeysOfUnion<P>>]: never };
-
-function isSet(value: any): boolean {
- return value !== null && value !== undefined;
-}
D client/src/protocol/starkingdoms-protocol.ts => client/src/protocol/starkingdoms-protocol.ts +0 -157
@@ 1,157 0,0 @@
-//@ts-nocheck
-import * as Long from "long";
-import * as _m0 from "protobufjs/minimal";
-
-export const protobufPackage = "protocol";
-
-export interface PacketWrapper {
- /** What is the Packet ID of this packet? */
- packetId: number;
- /** Protobuf-encoded bytearray containing the actual packet */
- packetData: Uint8Array;
-}
-
-function createBasePacketWrapper(): PacketWrapper {
- return { packetId: 0, packetData: new Uint8Array() };
-}
-
-export const PacketWrapper = {
- encode(message: PacketWrapper, writer: _m0.Writer = _m0.Writer.create()): _m0.Writer {
- if (message.packetId !== 0) {
- writer.uint32(8).int64(message.packetId);
- }
- if (message.packetData.length !== 0) {
- writer.uint32(18).bytes(message.packetData);
- }
- return writer;
- },
-
- decode(input: _m0.Reader | Uint8Array, length?: number): PacketWrapper {
- const reader = input instanceof _m0.Reader ? input : _m0.Reader.create(input);
- let end = length === undefined ? reader.len : reader.pos + length;
- const message = createBasePacketWrapper();
- while (reader.pos < end) {
- const tag = reader.uint32();
- switch (tag >>> 3) {
- case 1:
- if (tag != 8) {
- break;
- }
-
- message.packetId = longToNumber(reader.int64() as Long);
- continue;
- case 2:
- if (tag != 18) {
- break;
- }
-
- message.packetData = reader.bytes();
- continue;
- }
- if ((tag & 7) == 4 || tag == 0) {
- break;
- }
- reader.skipType(tag & 7);
- }
- return message;
- },
-
- fromJSON(object: any): PacketWrapper {
- return {
- packetId: isSet(object.packetId) ? Number(object.packetId) : 0,
- packetData: isSet(object.packetData) ? bytesFromBase64(object.packetData) : new Uint8Array(),
- };
- },
-
- toJSON(message: PacketWrapper): unknown {
- const obj: any = {};
- message.packetId !== undefined && (obj.packetId = Math.round(message.packetId));
- message.packetData !== undefined &&
- (obj.packetData = base64FromBytes(message.packetData !== undefined ? message.packetData : new Uint8Array()));
- return obj;
- },
-
- create<I extends Exact<DeepPartial<PacketWrapper>, I>>(base?: I): PacketWrapper {
- return PacketWrapper.fromPartial(base ?? {});
- },
-
- fromPartial<I extends Exact<DeepPartial<PacketWrapper>, I>>(object: I): PacketWrapper {
- const message = createBasePacketWrapper();
- message.packetId = object.packetId ?? 0;
- message.packetData = object.packetData ?? new Uint8Array();
- return message;
- },
-};
-
-declare var self: any | undefined;
-declare var window: any | undefined;
-declare var global: any | undefined;
-var tsProtoGlobalThis: any = (() => {
- if (typeof globalThis !== "undefined") {
- return globalThis;
- }
- if (typeof self !== "undefined") {
- return self;
- }
- if (typeof window !== "undefined") {
- return window;
- }
- if (typeof global !== "undefined") {
- return global;
- }
- throw "Unable to locate global object";
-})();
-
-function bytesFromBase64(b64: string): Uint8Array {
- if (tsProtoGlobalThis.Buffer) {
- return Uint8Array.from(tsProtoGlobalThis.Buffer.from(b64, "base64"));
- } else {
- const bin = tsProtoGlobalThis.atob(b64);
- const arr = new Uint8Array(bin.length);
- for (let i = 0; i < bin.length; ++i) {
- arr[i] = bin.charCodeAt(i);
- }
- return arr;
- }
-}
-
-function base64FromBytes(arr: Uint8Array): string {
- if (tsProtoGlobalThis.Buffer) {
- return tsProtoGlobalThis.Buffer.from(arr).toString("base64");
- } else {
- const bin: string[] = [];
- arr.forEach((byte) => {
- bin.push(String.fromCharCode(byte));
- });
- return tsProtoGlobalThis.btoa(bin.join(""));
- }
-}
-
-type Builtin = Date | Function | Uint8Array | string | number | boolean | undefined;
-
-export type DeepPartial<T> = T extends Builtin ? T
- : T extends Array<infer U> ? Array<DeepPartial<U>> : T extends ReadonlyArray<infer U> ? ReadonlyArray<DeepPartial<U>>
- : T extends {} ? { [K in keyof T]?: DeepPartial<T[K]> }
- : Partial<T>;
-
-type KeysOfUnion<T> = T extends T ? keyof T : never;
-export type Exact<P, I extends P> = P extends Builtin ? P
- : P & { [K in keyof P]: Exact<P[K], I[K]> } & { [K in Exclude<keyof I, KeysOfUnion<P>>]: never };
-
-function longToNumber(long: Long): number {
- if (long.gt(Number.MAX_SAFE_INTEGER)) {
- throw new tsProtoGlobalThis.Error("Value is larger than Number.MAX_SAFE_INTEGER");
- }
- return long.toNumber();
-}
-
-// If you get a compile-error about 'Constructor<Long> and ... have no overlap',
-// add '--ts_proto_opt=esModuleInterop=true' as a flag when calling 'protoc'.
-if (_m0.util.Long !== Long) {
- _m0.util.Long = Long as any;
- _m0.configure();
-}
-
-function isSet(value: any): boolean {
- return value !== null && value !== undefined;
-}
D client/src/protocol/state.ts => client/src/protocol/state.ts +0 -42
@@ 1,42 0,0 @@
-//@ts-nocheck
-
-export const protobufPackage = "protocol.state";
-
-export enum State {
- UNKNOWN = 0,
- Handshake = 1,
- Play = 2,
- UNRECOGNIZED = -1,
-}
-
-export function stateFromJSON(object: any): State {
- switch (object) {
- case 0:
- case "UNKNOWN":
- return State.UNKNOWN;
- case 1:
- case "Handshake":
- return State.Handshake;
- case 2:
- case "Play":
- return State.Play;
- case -1:
- case "UNRECOGNIZED":
- default:
- return State.UNRECOGNIZED;
- }
-}
-
-export function stateToJSON(object: State): string {
- switch (object) {
- case State.UNKNOWN:
- return "UNKNOWN";
- case State.Handshake:
- return "Handshake";
- case State.Play:
- return "Play";
- case State.UNRECOGNIZED:
- default:
- return "UNRECOGNIZED";
- }
-}
D client/src/serde.ts => client/src/serde.ts +0 -14
@@ 1,14 0,0 @@
-import {PacketWrapper} from "./protocol/starkingdoms-protocol";
-
-export function encode(id: number, pktd: Uint8Array): Uint8Array {
- let pkt = PacketWrapper.encode({
- packetId: id,
- packetData: pktd
- }).finish();
- return pkt;
-}
-
-export function decode(pktd: Uint8Array): [number, Uint8Array] {
- let pkt = PacketWrapper.decode(pktd);
- return [pkt.packetId, pkt.packetData];
-}>
\ No newline at end of file
D client/src/vite-env.d.ts => client/src/vite-env.d.ts +0 -1
@@ 1,1 0,0 @@
-/// <reference types="vite/client" />
D client/tsconfig.json => client/tsconfig.json +0 -19
@@ 1,19 0,0 @@
-{
- "compilerOptions": {
- "target": "ESNext",
- "useDefineForClassFields": true,
- "module": "ESNext",
- "lib": ["ESNext", "DOM"],
- "moduleResolution": "Node",
- "strict": true,
- "resolveJsonModule": true,
- "isolatedModules": true,
- "esModuleInterop": true,
- "noEmit": true,
- "noUnusedLocals": true,
- "noUnusedParameters": true,
- "noImplicitReturns": true,
- "skipLibCheck": true
- },
- "include": ["src"]
-}
D client/vite.config.ts => client/vite.config.ts +0 -17
@@ 1,17 0,0 @@
-import { defineConfig } from "vite";
-
-export default defineConfig({
- build: {
- lib: {
- formats: ["es"],
- entry: {
- play: "play.html",
- index: "index.html",
- }
- },
- commonjsOptions: { include: [] },
- },
- optimizeDeps: {
- disabled: false
- }
-});
D client/yarn.lock => client/yarn.lock +0 -379
@@ 1,379 0,0 @@
-# THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY.
-# yarn lockfile v1
-
-
-"@esbuild/android-arm64@0.17.16":
- version "0.17.16"
- resolved "https://registry.yarnpkg.com/@esbuild/android-arm64/-/android-arm64-0.17.16.tgz#7b18cab5f4d93e878306196eed26b6d960c12576"
- integrity sha512-QX48qmsEZW+gcHgTmAj+x21mwTz8MlYQBnzF6861cNdQGvj2jzzFjqH0EBabrIa/WVZ2CHolwMoqxVryqKt8+Q==
-
-"@esbuild/android-arm@0.17.16":
- version "0.17.16"
- resolved "https://registry.yarnpkg.com/@esbuild/android-arm/-/android-arm-0.17.16.tgz#5c47f6a7c2cada6ed4b4d4e72d8c66e76d812812"
- integrity sha512-baLqRpLe4JnKrUXLJChoTN0iXZH7El/mu58GE3WIA6/H834k0XWvLRmGLG8y8arTRS9hJJibPnF0tiGhmWeZgw==
-
-"@esbuild/android-x64@0.17.16":
- version "0.17.16"
- resolved "https://registry.yarnpkg.com/@esbuild/android-x64/-/android-x64-0.17.16.tgz#8686a6e98359071ffd5312046551943e7244c51a"
- integrity sha512-G4wfHhrrz99XJgHnzFvB4UwwPxAWZaZBOFXh+JH1Duf1I4vIVfuYY9uVLpx4eiV2D/Jix8LJY+TAdZ3i40tDow==
-
-"@esbuild/darwin-arm64@0.17.16":
- version "0.17.16"
- resolved "https://registry.yarnpkg.com/@esbuild/darwin-arm64/-/darwin-arm64-0.17.16.tgz#aa79fbf447630ca0696a596beba962a775bbf394"
- integrity sha512-/Ofw8UXZxuzTLsNFmz1+lmarQI6ztMZ9XktvXedTbt3SNWDn0+ODTwxExLYQ/Hod91EZB4vZPQJLoqLF0jvEzA==
-
-"@esbuild/darwin-x64@0.17.16":
- version "0.17.16"
- resolved "https://registry.yarnpkg.com/@esbuild/darwin-x64/-/darwin-x64-0.17.16.tgz#d5d68ee510507104da7e7503224c647c957e163e"
- integrity sha512-SzBQtCV3Pdc9kyizh36Ol+dNVhkDyIrGb/JXZqFq8WL37LIyrXU0gUpADcNV311sCOhvY+f2ivMhb5Tuv8nMOQ==
-
-"@esbuild/freebsd-arm64@0.17.16":
- version "0.17.16"
- resolved "https://registry.yarnpkg.com/@esbuild/freebsd-arm64/-/freebsd-arm64-0.17.16.tgz#b00b4cc8c2e424907cfe3a607384ab24794edd52"
- integrity sha512-ZqftdfS1UlLiH1DnS2u3It7l4Bc3AskKeu+paJSfk7RNOMrOxmeFDhLTMQqMxycP1C3oj8vgkAT6xfAuq7ZPRA==
-
-"@esbuild/freebsd-x64@0.17.16":
- version "0.17.16"
- resolved "https://registry.yarnpkg.com/@esbuild/freebsd-x64/-/freebsd-x64-0.17.16.tgz#84af4430a07730b50bbc945a90cf7036c1853b76"
- integrity sha512-rHV6zNWW1tjgsu0dKQTX9L0ByiJHHLvQKrWtnz8r0YYJI27FU3Xu48gpK2IBj1uCSYhJ+pEk6Y0Um7U3rIvV8g==
-
-"@esbuild/linux-arm64@0.17.16":
- version "0.17.16"
- resolved "https://registry.yarnpkg.com/@esbuild/linux-arm64/-/linux-arm64-0.17.16.tgz#35571d15de6272c862d9ce6341372fb3cef0f266"
- integrity sha512-8yoZhGkU6aHu38WpaM4HrRLTFc7/VVD9Q2SvPcmIQIipQt2I/GMTZNdEHXoypbbGao5kggLcxg0iBKjo0SQYKA==
-
-"@esbuild/linux-arm@0.17.16":
- version "0.17.16"
- resolved "https://registry.yarnpkg.com/@esbuild/linux-arm/-/linux-arm-0.17.16.tgz#b65c7cd5b0eadd08f91aab66b9dda81b6a4b2a70"
- integrity sha512-n4O8oVxbn7nl4+m+ISb0a68/lcJClIbaGAoXwqeubj/D1/oMMuaAXmJVfFlRjJLu/ZvHkxoiFJnmbfp4n8cdSw==
-
-"@esbuild/linux-ia32@0.17.16":
- version "0.17.16"
- resolved "https://registry.yarnpkg.com/@esbuild/linux-ia32/-/linux-ia32-0.17.16.tgz#673a68cb251ce44a00a6422ada29064c5a1cd2c0"
- integrity sha512-9ZBjlkdaVYxPNO8a7OmzDbOH9FMQ1a58j7Xb21UfRU29KcEEU3VTHk+Cvrft/BNv0gpWJMiiZ/f4w0TqSP0gLA==
-
-"@esbuild/linux-loong64@0.17.16":
- version "0.17.16"
- resolved "https://registry.yarnpkg.com/@esbuild/linux-loong64/-/linux-loong64-0.17.16.tgz#477e2da34ab46ffdbf4740fa6441e80045249385"
- integrity sha512-TIZTRojVBBzdgChY3UOG7BlPhqJz08AL7jdgeeu+kiObWMFzGnQD7BgBBkWRwOtKR1i2TNlO7YK6m4zxVjjPRQ==
-
-"@esbuild/linux-mips64el@0.17.16":
- version "0.17.16"
- resolved "https://registry.yarnpkg.com/@esbuild/linux-mips64el/-/linux-mips64el-0.17.16.tgz#e1e9687bbdaa831d7c34edc9278200982c1a4bf4"
- integrity sha512-UPeRuFKCCJYpBbIdczKyHLAIU31GEm0dZl1eMrdYeXDH+SJZh/i+2cAmD3A1Wip9pIc5Sc6Kc5cFUrPXtR0XHA==
-
-"@esbuild/linux-ppc64@0.17.16":
- version "0.17.16"
- resolved "https://registry.yarnpkg.com/@esbuild/linux-ppc64/-/linux-ppc64-0.17.16.tgz#2f19075d63622987e86e83a4b7866cd57b796c60"
- integrity sha512-io6yShgIEgVUhExJejJ21xvO5QtrbiSeI7vYUnr7l+v/O9t6IowyhdiYnyivX2X5ysOVHAuyHW+Wyi7DNhdw6Q==
-
-"@esbuild/linux-riscv64@0.17.16":
- version "0.17.16"
- resolved "https://registry.yarnpkg.com/@esbuild/linux-riscv64/-/linux-riscv64-0.17.16.tgz#bbf40a38f03ba2434fe69b5ceeec5d13c742b329"
- integrity sha512-WhlGeAHNbSdG/I2gqX2RK2gfgSNwyJuCiFHMc8s3GNEMMHUI109+VMBfhVqRb0ZGzEeRiibi8dItR3ws3Lk+cA==
-
-"@esbuild/linux-s390x@0.17.16":
- version "0.17.16"
- resolved "https://registry.yarnpkg.com/@esbuild/linux-s390x/-/linux-s390x-0.17.16.tgz#d2b8c0779ccd2b7917cdf0fab8831a468e0f9c01"
- integrity sha512-gHRReYsJtViir63bXKoFaQ4pgTyah4ruiMRQ6im9YZuv+gp3UFJkNTY4sFA73YDynmXZA6hi45en4BGhNOJUsw==
-
-"@esbuild/linux-x64@0.17.16":
- version "0.17.16"
- resolved "https://registry.yarnpkg.com/@esbuild/linux-x64/-/linux-x64-0.17.16.tgz#da48b39cfdc1b12a74976625f583f031eac43590"
- integrity sha512-mfiiBkxEbUHvi+v0P+TS7UnA9TeGXR48aK4XHkTj0ZwOijxexgMF01UDFaBX7Q6CQsB0d+MFNv9IiXbIHTNd4g==
-
-"@esbuild/netbsd-x64@0.17.16":
- version "0.17.16"
- resolved "https://registry.yarnpkg.com/@esbuild/netbsd-x64/-/netbsd-x64-0.17.16.tgz#ddef985aed37cc81908d2573b66c0299dbc49037"
- integrity sha512-n8zK1YRDGLRZfVcswcDMDM0j2xKYLNXqei217a4GyBxHIuPMGrrVuJ+Ijfpr0Kufcm7C1k/qaIrGy6eG7wvgmA==
-
-"@esbuild/openbsd-x64@0.17.16":
- version "0.17.16"
- resolved "https://registry.yarnpkg.com/@esbuild/openbsd-x64/-/openbsd-x64-0.17.16.tgz#85035bf89efd66e9068bc72aa6bb85a2c317d090"
- integrity sha512-lEEfkfsUbo0xC47eSTBqsItXDSzwzwhKUSsVaVjVji07t8+6KA5INp2rN890dHZeueXJAI8q0tEIfbwVRYf6Ew==
-
-"@esbuild/sunos-x64@0.17.16":
- version "0.17.16"
- resolved "https://registry.yarnpkg.com/@esbuild/sunos-x64/-/sunos-x64-0.17.16.tgz#16338ecab854cb2d831cc9ee9cc21ef69566e1f3"
- integrity sha512-jlRjsuvG1fgGwnE8Afs7xYDnGz0dBgTNZfgCK6TlvPH3Z13/P5pi6I57vyLE8qZYLrGVtwcm9UbUx1/mZ8Ukag==
-
-"@esbuild/win32-arm64@0.17.16":
- version "0.17.16"
- resolved "https://registry.yarnpkg.com/@esbuild/win32-arm64/-/win32-arm64-0.17.16.tgz#423f46bb744aff897a5f74435469e1ef4952e343"
- integrity sha512-TzoU2qwVe2boOHl/3KNBUv2PNUc38U0TNnzqOAcgPiD/EZxT2s736xfC2dYQbszAwo4MKzzwBV0iHjhfjxMimg==
-
-"@esbuild/win32-ia32@0.17.16":
- version "0.17.16"
- resolved "https://registry.yarnpkg.com/@esbuild/win32-ia32/-/win32-ia32-0.17.16.tgz#1978be5b192c7063bd2c8d5960eb213e1964740e"
- integrity sha512-B8b7W+oo2yb/3xmwk9Vc99hC9bNolvqjaTZYEfMQhzdpBsjTvZBlXQ/teUE55Ww6sg//wlcDjOaqldOKyigWdA==
-
-"@esbuild/win32-x64@0.17.16":
- version "0.17.16"
- resolved "https://registry.yarnpkg.com/@esbuild/win32-x64/-/win32-x64-0.17.16.tgz#260f19b0a3300d22c3a3f52722c671dc561edaa3"
- integrity sha512-xJ7OH/nanouJO9pf03YsL9NAFQBHd8AqfrQd7Pf5laGyyTt/gToul6QYOA/i5i/q8y9iaM5DQFNTgpi995VkOg==
-
-"@protobufjs/aspromise@^1.1.1", "@protobufjs/aspromise@^1.1.2":
- version "1.1.2"
- resolved "https://registry.yarnpkg.com/@protobufjs/aspromise/-/aspromise-1.1.2.tgz#9b8b0cc663d669a7d8f6f5d0893a14d348f30fbf"
- integrity sha512-j+gKExEuLmKwvz3OgROXtrJ2UG2x8Ch2YZUxahh+s1F2HZ+wAceUNLkvy6zKCPVRkU++ZWQrdxsUeQXmcg4uoQ==
-
-"@protobufjs/base64@^1.1.2":
- version "1.1.2"
- resolved "https://registry.yarnpkg.com/@protobufjs/base64/-/base64-1.1.2.tgz#4c85730e59b9a1f1f349047dbf24296034bb2735"
- integrity sha512-AZkcAA5vnN/v4PDqKyMR5lx7hZttPDgClv83E//FMNhR2TMcLUhfRUBHCmSl0oi9zMgDDqRUJkSxO3wm85+XLg==
-
-"@protobufjs/codegen@^2.0.4":
- version "2.0.4"
- resolved "https://registry.yarnpkg.com/@protobufjs/codegen/-/codegen-2.0.4.tgz#7ef37f0d010fb028ad1ad59722e506d9262815cb"
- integrity sha512-YyFaikqM5sH0ziFZCN3xDC7zeGaB/d0IUb9CATugHWbd1FRFwWwt4ld4OYMPWu5a3Xe01mGAULCdqhMlPl29Jg==
-
-"@protobufjs/eventemitter@^1.1.0":
- version "1.1.0"
- resolved "https://registry.yarnpkg.com/@protobufjs/eventemitter/-/eventemitter-1.1.0.tgz#355cbc98bafad5978f9ed095f397621f1d066b70"
- integrity sha512-j9ednRT81vYJ9OfVuXG6ERSTdEL1xVsNgqpkxMsbIabzSo3goCjDIveeGv5d03om39ML71RdmrGNjG5SReBP/Q==
-
-"@protobufjs/fetch@^1.1.0":
- version "1.1.0"
- resolved "https://registry.yarnpkg.com/@protobufjs/fetch/-/fetch-1.1.0.tgz#ba99fb598614af65700c1619ff06d454b0d84c45"
- integrity sha512-lljVXpqXebpsijW71PZaCYeIcE5on1w5DlQy5WH6GLbFryLUrBD4932W/E2BSpfRJWseIL4v/KPgBFxDOIdKpQ==
- dependencies:
- "@protobufjs/aspromise" "^1.1.1"
- "@protobufjs/inquire" "^1.1.0"
-
-"@protobufjs/float@^1.0.2":
- version "1.0.2"
- resolved "https://registry.yarnpkg.com/@protobufjs/float/-/float-1.0.2.tgz#5e9e1abdcb73fc0a7cb8b291df78c8cbd97b87d1"
- integrity sha512-Ddb+kVXlXst9d+R9PfTIxh1EdNkgoRe5tOX6t01f1lYWOvJnSPDBlG241QLzcyPdoNTsblLUdujGSE4RzrTZGQ==
-
-"@protobufjs/inquire@^1.1.0":
- version "1.1.0"
- resolved "https://registry.yarnpkg.com/@protobufjs/inquire/-/inquire-1.1.0.tgz#ff200e3e7cf2429e2dcafc1140828e8cc638f089"
- integrity sha512-kdSefcPdruJiFMVSbn801t4vFK7KB/5gd2fYvrxhuJYg8ILrmn9SKSX2tZdV6V+ksulWqS7aXjBcRXl3wHoD9Q==
-
-"@protobufjs/path@^1.1.2":
- version "1.1.2"
- resolved "https://registry.yarnpkg.com/@protobufjs/path/-/path-1.1.2.tgz#6cc2b20c5c9ad6ad0dccfd21ca7673d8d7fbf68d"
- integrity sha512-6JOcJ5Tm08dOHAbdR3GrvP+yUUfkjG5ePsHYczMFLq3ZmMkAD98cDgcT2iA1lJ9NVwFd4tH/iSSoe44YWkltEA==
-
-"@protobufjs/pool@^1.1.0":
- version "1.1.0"
- resolved "https://registry.yarnpkg.com/@protobufjs/pool/-/pool-1.1.0.tgz#09fd15f2d6d3abfa9b65bc366506d6ad7846ff54"
- integrity sha512-0kELaGSIDBKvcgS4zkjz1PeddatrjYcmMWOlAuAPwAeccUrPHdUqo/J6LiymHHEiJT5NrF1UVwxY14f+fy4WQw==
-
-"@protobufjs/utf8@^1.1.0":
- version "1.1.0"
- resolved "https://registry.yarnpkg.com/@protobufjs/utf8/-/utf8-1.1.0.tgz#a777360b5b39a1a2e5106f8e858f2fd2d060c570"
- integrity sha512-Vvn3zZrhQZkkBE8LSuW3em98c0FwgO4nxzv6OdSxPKJIEKY2bGbHn+mhGIPerzI4twdxaP8/0+06HBpwf345Lw==
-
-"@types/long@^4.0.1":
- version "4.0.2"
- resolved "https://registry.yarnpkg.com/@types/long/-/long-4.0.2.tgz#b74129719fc8d11c01868010082d483b7545591a"
- integrity sha512-MqTGEo5bj5t157U6fA/BiDynNkn0YknVdh48CMPkTSpFTVmvao5UQmm7uEF6xBEo7qIMAlY/JSleYaE6VOdpaA==
-
-"@types/node@>=13.7.0":
- version "18.15.11"
- resolved "https://registry.yarnpkg.com/@types/node/-/node-18.15.11.tgz#b3b790f09cb1696cffcec605de025b088fa4225f"
- integrity sha512-E5Kwq2n4SbMzQOn6wnmBjuK9ouqlURrcZDVfbo9ftDDTFt3nk7ZKK4GMOzoYgnpQJKcxwQw+lGaBvvlMo0qN/Q==
-
-"@types/object-hash@^1.3.0":
- version "1.3.4"
- resolved "https://registry.yarnpkg.com/@types/object-hash/-/object-hash-1.3.4.tgz#079ba142be65833293673254831b5e3e847fe58b"
- integrity sha512-xFdpkAkikBgqBdG9vIlsqffDV8GpvnPEzs0IUtr1v3BEB97ijsFQ4RXVbUZwjFThhB4MDSTUfvmxUD5PGx0wXA==
-
-case-anything@^2.1.10:
- version "2.1.10"
- resolved "https://registry.yarnpkg.com/case-anything/-/case-anything-2.1.10.tgz#d18a6ca968d54ec3421df71e3e190f3bced23410"
- integrity sha512-JczJwVrCP0jPKh05McyVsuOg6AYosrB9XWZKbQzXeDAm2ClE/PJE/BcrrQrVyGYH7Jg8V/LDupmyL4kFlVsVFQ==
-
-dataloader@^1.4.0:
- version "1.4.0"
- resolved "https://registry.yarnpkg.com/dataloader/-/dataloader-1.4.0.tgz#bca11d867f5d3f1b9ed9f737bd15970c65dff5c8"
- integrity sha512-68s5jYdlvasItOJnCuI2Q9s4q98g0pCyL3HrcKJu8KNugUl8ahgmZYg38ysLTgQjjXX3H8CJLkAvWrclWfcalw==
-
-detect-libc@^1.0.3:
- version "1.0.3"
- resolved "https://registry.yarnpkg.com/detect-libc/-/detect-libc-1.0.3.tgz#fa137c4bd698edf55cd5cd02ac559f91a4c4ba9b"
- integrity sha512-pGjwhsmsp4kL2RTz08wcOlGN83otlqHeD/Z5T8GXZB+/YcpQ/dgo+lbU8ZsGxV0HIvqqxo9l7mqYwyYMD9bKDg==
-
-dprint-node@^1.0.7:
- version "1.0.7"
- resolved "https://registry.yarnpkg.com/dprint-node/-/dprint-node-1.0.7.tgz#f571eaf61affb3a696cff1bdde78a021875ba540"
- integrity sha512-NTZOW9A7ipb0n7z7nC3wftvsbceircwVHSgzobJsEQa+7RnOMbhrfX5IflA6CtC4GA63DSAiHYXa4JKEy9F7cA==
- dependencies:
- detect-libc "^1.0.3"
-
-esbuild@^0.17.5:
- version "0.17.16"
- resolved "https://registry.yarnpkg.com/esbuild/-/esbuild-0.17.16.tgz#5efec24a8ff29e0c157359f27e1b5532a728b720"
- integrity sha512-aeSuUKr9aFVY9Dc8ETVELGgkj4urg5isYx8pLf4wlGgB0vTFjxJQdHnNH6Shmx4vYYrOTLCHtRI5i1XZ9l2Zcg==
- optionalDependencies:
- "@esbuild/android-arm" "0.17.16"
- "@esbuild/android-arm64" "0.17.16"
- "@esbuild/android-x64" "0.17.16"
- "@esbuild/darwin-arm64" "0.17.16"
- "@esbuild/darwin-x64" "0.17.16"
- "@esbuild/freebsd-arm64" "0.17.16"
- "@esbuild/freebsd-x64" "0.17.16"
- "@esbuild/linux-arm" "0.17.16"
- "@esbuild/linux-arm64" "0.17.16"
- "@esbuild/linux-ia32" "0.17.16"
- "@esbuild/linux-loong64" "0.17.16"
- "@esbuild/linux-mips64el" "0.17.16"
- "@esbuild/linux-ppc64" "0.17.16"
- "@esbuild/linux-riscv64" "0.17.16"
- "@esbuild/linux-s390x" "0.17.16"
- "@esbuild/linux-x64" "0.17.16"
- "@esbuild/netbsd-x64" "0.17.16"
- "@esbuild/openbsd-x64" "0.17.16"
- "@esbuild/sunos-x64" "0.17.16"
- "@esbuild/win32-arm64" "0.17.16"
- "@esbuild/win32-ia32" "0.17.16"
- "@esbuild/win32-x64" "0.17.16"
-
-fsevents@~2.3.2:
- version "2.3.2"
- resolved "https://registry.yarnpkg.com/fsevents/-/fsevents-2.3.2.tgz#8a526f78b8fdf4623b709e0b975c52c24c02fd1a"
- integrity sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==
-
-function-bind@^1.1.1:
- version "1.1.1"
- resolved "https://registry.yarnpkg.com/function-bind/-/function-bind-1.1.1.tgz#a56899d3ea3c9bab874bb9773b7c5ede92f4895d"
- integrity sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==
-
-has@^1.0.3:
- version "1.0.3"
- resolved "https://registry.yarnpkg.com/has/-/has-1.0.3.tgz#722d7cbfc1f6aa8241f16dd814e011e1f41e8796"
- integrity sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==
- dependencies:
- function-bind "^1.1.1"
-
-is-core-module@^2.11.0:
- version "2.12.0"
- resolved "https://registry.yarnpkg.com/is-core-module/-/is-core-module-2.12.0.tgz#36ad62f6f73c8253fd6472517a12483cf03e7ec4"
- integrity sha512-RECHCBCd/viahWmwj6enj19sKbHfJrddi/6cBDsNTKbNq0f7VeaUkBo60BqzvPqo/W54ChS62Z5qyun7cfOMqQ==
- dependencies:
- has "^1.0.3"
-
-long@^4.0.0:
- version "4.0.0"
- resolved "https://registry.yarnpkg.com/long/-/long-4.0.0.tgz#9a7b71cfb7d361a194ea555241c92f7468d5bf28"
- integrity sha512-XsP+KhQif4bjX1kbuSiySJFNAehNxgLb6hPRGJ9QsUr8ajHkuXGdrHmFUTUUXhDwVX2R5bY4JNZEwbUiMhV+MA==
-
-nanoid@^3.3.4:
- version "3.3.6"
- resolved "https://registry.yarnpkg.com/nanoid/-/nanoid-3.3.6.tgz#443380c856d6e9f9824267d960b4236ad583ea4c"
- integrity sha512-BGcqMMJuToF7i1rt+2PWSNVnWIkGCU78jBG3RxO/bZlnZPK2Cmi2QaffxGO/2RvWi9sL+FAiRiXMgsyxQ1DIDA==
-
-object-hash@^1.3.1:
- version "1.3.1"
- resolved "https://registry.yarnpkg.com/object-hash/-/object-hash-1.3.1.tgz#fde452098a951cb145f039bb7d455449ddc126df"
- integrity sha512-OSuu/pU4ENM9kmREg0BdNrUDIl1heYa4mBZacJc+vVWz4GtAwu7jO8s4AIt2aGRUTqxykpWzI3Oqnsm13tTMDA==
-
-path-parse@^1.0.7:
- version "1.0.7"
- resolved "https://registry.yarnpkg.com/path-parse/-/path-parse-1.0.7.tgz#fbc114b60ca42b30d9daf5858e4bd68bbedb6735"
- integrity sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==
-
-picocolors@^1.0.0:
- version "1.0.0"
- resolved "https://registry.yarnpkg.com/picocolors/-/picocolors-1.0.0.tgz#cb5bdc74ff3f51892236eaf79d68bc44564ab81c"
- integrity sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==
-
-postcss@^8.4.21:
- version "8.4.21"
- resolved "https://registry.yarnpkg.com/postcss/-/postcss-8.4.21.tgz#c639b719a57efc3187b13a1d765675485f4134f4"
- integrity sha512-tP7u/Sn/dVxK2NnruI4H9BG+x+Wxz6oeZ1cJ8P6G/PZY0IKk4k/63TDsQf2kQq3+qoJeLm2kIBUNlZe3zgb4Zg==
- dependencies:
- nanoid "^3.3.4"
- picocolors "^1.0.0"
- source-map-js "^1.0.2"
-
-protobufjs@^6.11.3, protobufjs@^6.8.8:
- version "6.11.3"
- resolved "https://registry.yarnpkg.com/protobufjs/-/protobufjs-6.11.3.tgz#637a527205a35caa4f3e2a9a4a13ddffe0e7af74"
- integrity sha512-xL96WDdCZYdU7Slin569tFX712BxsxslWwAfAhCYjQKGTq7dAU91Lomy6nLLhh/dyGhk/YH4TwTSRxTzhuHyZg==
- dependencies:
- "@protobufjs/aspromise" "^1.1.2"
- "@protobufjs/base64" "^1.1.2"
- "@protobufjs/codegen" "^2.0.4"
- "@protobufjs/eventemitter" "^1.1.0"
- "@protobufjs/fetch" "^1.1.0"
- "@protobufjs/float" "^1.0.2"
- "@protobufjs/inquire" "^1.1.0"
- "@protobufjs/path" "^1.1.2"
- "@protobufjs/pool" "^1.1.0"
- "@protobufjs/utf8" "^1.1.0"
- "@types/long" "^4.0.1"
- "@types/node" ">=13.7.0"
- long "^4.0.0"
-
-resolve@^1.22.1:
- version "1.22.2"
- resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.22.2.tgz#0ed0943d4e301867955766c9f3e1ae6d01c6845f"
- integrity sha512-Sb+mjNHOULsBv818T40qSPeRiuWLyaGMa5ewydRLFimneixmVy2zdivRl+AF6jaYPC8ERxGDmFSiqui6SfPd+g==
- dependencies:
- is-core-module "^2.11.0"
- path-parse "^1.0.7"
- supports-preserve-symlinks-flag "^1.0.0"
-
-rollup@^3.18.0:
- version "3.20.2"
- resolved "https://registry.yarnpkg.com/rollup/-/rollup-3.20.2.tgz#f798c600317f216de2e4ad9f4d9ab30a89b690ff"
- integrity sha512-3zwkBQl7Ai7MFYQE0y1MeQ15+9jsi7XxfrqwTb/9EK8D9C9+//EBR4M+CuA1KODRaNbFez/lWxA5vhEGZp4MUg==
- optionalDependencies:
- fsevents "~2.3.2"
-
-source-map-js@^1.0.2:
- version "1.0.2"
- resolved "https://registry.yarnpkg.com/source-map-js/-/source-map-js-1.0.2.tgz#adbc361d9c62df380125e7f161f71c826f1e490c"
- integrity sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==
-
-supports-preserve-symlinks-flag@^1.0.0:
- version "1.0.0"
- resolved "https://registry.yarnpkg.com/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz#6eda4bd344a3c94aea376d4cc31bc77311039e09"
- integrity sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==
-
-ts-poet@^6.4.1:
- version "6.4.1"
- resolved "https://registry.yarnpkg.com/ts-poet/-/ts-poet-6.4.1.tgz#e68d314a07cf9c0d568a3bfd87023ec91ff77964"
- integrity sha512-AjZEs4h2w4sDfwpHMxQKHrTlNh2wRbM5NRXmLz0RiH+yPGtSQFbe9hBpNocU8vqVNgfh0BIOiXR80xDz3kKxUQ==
- dependencies:
- dprint-node "^1.0.7"
-
-ts-proto-descriptors@1.8.0:
- version "1.8.0"
- resolved "https://registry.yarnpkg.com/ts-proto-descriptors/-/ts-proto-descriptors-1.8.0.tgz#ba4a26c156a77f76c68d7dac0d049bd2aa3f0920"
- integrity sha512-iV20plcI8+GRkeZIAygxOOH0p2xpOsKfw9kI1W20NCwawi1/4bG/YRd9rQY9XSJP+lD9j7XbSy3tFFuikfsljw==
- dependencies:
- long "^4.0.0"
- protobufjs "^6.8.8"
-
-ts-proto@^1.146.0:
- version "1.146.0"
- resolved "https://registry.yarnpkg.com/ts-proto/-/ts-proto-1.146.0.tgz#4017c700976d3657009c4e7e741377a4272ffc27"
- integrity sha512-OyBZRjmqqw+aatLEUbRooWO6VKTtOLJQyaQFMciigEZPNgTsWtApqHpQDtqDMQFWEXhIARqEV+B7ZJx8cljhZA==
- dependencies:
- "@types/object-hash" "^1.3.0"
- case-anything "^2.1.10"
- dataloader "^1.4.0"
- object-hash "^1.3.1"
- protobufjs "^6.11.3"
- ts-poet "^6.4.1"
- ts-proto-descriptors "1.8.0"
-
-typescript@^4.9.3:
- version "4.9.5"
- resolved "https://registry.yarnpkg.com/typescript/-/typescript-4.9.5.tgz#095979f9bcc0d09da324d58d03ce8f8374cbe65a"
- integrity sha512-1FXk9E2Hm+QzZQ7z+McJiHL4NW1F2EzMu9Nq9i3zAaGqibafqYwCVU6WyWAuyQRRzOlxou8xZSyXLEN8oKj24g==
-
-vite@^4.2.0:
- version "4.2.1"
- resolved "https://registry.yarnpkg.com/vite/-/vite-4.2.1.tgz#6c2eb337b0dfd80a9ded5922163b94949d7fc254"
- integrity sha512-7MKhqdy0ISo4wnvwtqZkjke6XN4taqQ2TBaTccLIpOKv7Vp2h4Y+NpmWCnGDeSvvn45KxvWgGyb0MkHvY1vgbg==
- dependencies:
- esbuild "^0.17.5"
- postcss "^8.4.21"
- resolve "^1.22.1"
- rollup "^3.18.0"
- optionalDependencies:
- fsevents "~2.3.2"
M server/Cargo.toml => server/Cargo.toml +3 -4
@@ 4,9 4,8 @@ version = "0.0.1"
edition = "2021"
[dependencies]
-bevy = "0.12"
-rmp = "^0.8"
-rmp-serde = "1.1.2"
-serde = "1.0.192"
+bevy = { version = "0.12", default-features = false }
+serde = { version = "1", features = ["derive"] }
+serde_json = "1"
bevy_twite = { git = "https://gitlab.com/ghostlyzsh/twite.git" }
tracing-subscriber = "0.3"=
\ No newline at end of file
M server/src/main.rs => server/src/main.rs +59 -50
@@ 1,25 1,24 @@
-mod component;
-mod packet;
-
use std::collections::HashMap;
-use bevy::{prelude::*, ecs::event::ManualEventReader};
use bevy::utils::tracing;
-use bevy_twite::{TwiteServerPlugin, TwiteServerConfig, ServerEvent, twite::frame::MessageType};
+use bevy::{ecs::event::ManualEventReader, prelude::*};
+use bevy_twite::{twite::frame::MessageType, ServerEvent, TwiteServerConfig, TwiteServerPlugin};
use component::*;
use packet::*;
-use rmp_serde::Serializer;
-use serde::Serialize;
+
+pub mod component;
+pub mod packet;
fn main() {
let subscriber = tracing_subscriber::FmtSubscriber::new();
tracing::subscriber::set_global_default(subscriber).unwrap();
- info!("StarKingdoms server v{} starting up", env!("CARGO_PKG_VERSION"));
+ info!(
+ "StarKingdoms server v{} starting up",
+ env!("CARGO_PKG_VERSION")
+ );
App::new()
- .insert_resource(TwiteServerConfig {
- port: 3000,
- })
+ .insert_resource(TwiteServerConfig { port: 3000 })
.add_plugins(MinimalPlugins)
.add_plugins(TwiteServerPlugin)
.add_systems(Startup, spawn_planets)
@@ 31,7 30,7 @@ fn main() {
}
fn spawn_planets(mut commands: Commands) {
- debug!("Spawning planets");
+ info!("Spawning planets");
let earth_pos = Transform::from_xyz(0.0, 0.0, 0.0);
commands.spawn(PlanetBundle {
planet_type: PlanetType::Earth,
@@ 39,33 38,40 @@ fn spawn_planets(mut commands: Commands) {
});
}
-fn on_connection(mut commands: Commands,
- planet_query: Query<(Entity, &PlanetType, &Transform)>,
- mut reader: Local<ManualEventReader<ServerEvent>>,
- mut events: ResMut<Events<ServerEvent>>) {
+fn on_connection(
+ mut commands: Commands,
+ planet_query: Query<(Entity, &PlanetType, &Transform)>,
+ mut reader: Local<ManualEventReader<ServerEvent>>,
+ mut events: ResMut<Events<ServerEvent>>,
+) {
let mut packets = Vec::new();
for ev in reader.read(&events) {
if let ServerEvent::Connection(addr) = ev {
- let _id = commands.spawn(PlayerBundle {
- part: PartBundle {
- part_type: PartType::Hearty,
- transform: TransformBundle::from(Transform::from_xyz(0.0, 0.0, 0.0)),
- },
- addr: Player(*addr),
- }).id().index();
+ let _id = commands
+ .spawn(PlayerBundle {
+ part: PartBundle {
+ part_type: PartType::Hearty,
+ transform: TransformBundle::from(Transform::from_xyz(0.0, 0.0, 0.0)),
+ },
+ addr: Player(*addr),
+ })
+ .id()
+ .index();
let mut planets = HashMap::new();
for (entity, planet_type, transform) in planet_query.iter() {
- planets.insert(entity.index(), PacketPlanet {
- planet_type: *planet_type as u8,
- position: (transform.translation.x, transform.translation.y),
- });
+ planets.insert(
+ entity.index(),
+ PacketPlanet {
+ planet_type: *planet_type as u8,
+ position: (transform.translation.x, transform.translation.y),
+ },
+ );
}
-
- let mut buf = Vec::new();
- PlanetPositionPacket {
- planets,
- }.serialize(&mut Serializer::new(&mut buf)).unwrap();
+
+ let packet = PlanetPositionPacket { planets };
+ let buf = serde_json::to_vec(&packet).unwrap();
+
packets.push(ServerEvent::Send(*addr, MessageType::Text, buf));
}
}
@@ 74,36 80,39 @@ fn on_connection(mut commands: Commands,
}
}
-fn on_position_change(mut commands: Commands,
- part_query: Query<(Entity, &Transform), (With<Player>, Changed<Transform>)>,
- planet_query: Query<(Entity, &PlanetType, &Transform), Changed<Transform>>,
- mut packet_send: EventWriter<ServerEvent>) {
+fn on_position_change(
+ mut commands: Commands,
+ part_query: Query<(Entity, &Transform), (With<Player>, Changed<Transform>)>,
+ planet_query: Query<(Entity, &PlanetType, &Transform), Changed<Transform>>,
+ mut packet_send: EventWriter<ServerEvent>,
+) {
let mut parts = HashMap::new();
for (entity, transform) in part_query.iter() {
let id = commands.entity(entity).id().index();
let translation = transform.translation;
parts.insert(id, (0, translation.x, translation.y)); // Type hearty = 0
}
- let mut buf = Vec::new();
- let packet = PartPositionPacket {
- parts,
- };
- packet.serialize(&mut Serializer::new(&mut buf)).unwrap();
+
+ let packet = PartPositionPacket { parts };
+ let buf = serde_json::to_vec(&packet).unwrap();
+
packet_send.send(ServerEvent::Broadcast(MessageType::Text, buf));
let mut planets = HashMap::new();
for (entity, planet_type, transform) in planet_query.iter() {
let id = commands.entity(entity).id().index();
let translation = transform.translation;
- planets.insert(id, PacketPlanet {
- planet_type: *planet_type as u8,
- position: (translation.x, translation.y),
- });
+ planets.insert(
+ id,
+ PacketPlanet {
+ planet_type: *planet_type as u8,
+ position: (translation.x, translation.y),
+ },
+ );
}
- let mut buf = Vec::new();
- let packet = PlanetPositionPacket {
- planets,
- };
- packet.serialize(&mut Serializer::new(&mut buf)).unwrap();
+
+ let packet = PlanetPositionPacket { planets };
+ let buf = serde_json::to_vec(&packet).unwrap();
+
packet_send.send(ServerEvent::Broadcast(MessageType::Text, buf));
}
M server/src/packet.rs => server/src/packet.rs +2 -2
@@ 17,10 17,10 @@ pub struct PacketPlanet {
#[derive(Debug, Serialize)]
pub struct PlanetPositionPacket {
- pub planets: HashMap<u32, PacketPlanet> // id, (Type, x, y)
+ pub planets: HashMap<u32, PacketPlanet>, // id, (Type, x, y)
}
#[derive(Debug, Serialize)]
pub struct PartPositionPacket {
- pub parts: HashMap<u32, (u8, f32, f32)> // id, (Type, x, y)
+ pub parts: HashMap<u32, (u8, f32, f32)>, // id, (Type, x, y)
}