* Update to glutin 0.29.0, winit 0.27.0. Closes#695
Change true/false to CursorGrabMode::Locked/None for set_cursor_grab
https://github.com/rust-windowing/winit/releases/tag/v0.27.0
> Breaking: Window::set_cursor_grab now accepts CursorGrabMode to control grabbing behavior.
* Update web-sys to 0.3.59. Closes#699
* Update flate2 to 1.0.24. Closes#698
* Update zip to 0.6.2. Closes#697
* Update to log 0.4.17. Closes#696
Implements support for receiving chat messages from the server, the
first step towards #63 chat support. Long way to go, but is a start.
* server: handle ServerMessage_* packets, on_servermessage
* format: get the with arguments of translations
* format: hardcode chat types
* format: support bare strings, used in chat.type.text
* format: use extra text if present, fixes missing username on 1.16.5
* console/main/server: activate on receiving chat messages
Replace std::time with the `instant` crate, which bridges to std::time on
native but on wasm calls performance.now() instead of panicking.
A step towards 🕸️ Web support #446
* logo: replace SystemTime/UNIX_EPOCH with Instant
A small step for #446🕸️ Web support, use web-sys to interface to the web.
Previously, we would try to use glutin on the web, which is not supported;
now glutin is only used on native: fixes#171 could not find Context in platform_impl.
winit is still used on both, but the GL context is created with web-sys and glow
(on the web), and created with glutin and used with glow (on native). stdweb is
no longer used, being replaced by web-sys.
Substantial refactoring to allow reusing the code between web/native:
* settings: use VirtualKeyCode from winit, not reexported from glutin
* std_or_web: remove broken localstoragefs/stdweb, add File placeholder
* render: disable skin_thread on wasm since we don't have threads
* gl: use glow types in gl wrapper (integers in native, but Web*Key in web)
* gl: web-sys WebGlUniformLocation does not implement Copy trait, so glow::UniformLocation doesn't so gl::Uniform can't
* gl: refactor context initialization, pass glow::Context to gl::init for consistency between native/web
* gl: update to glow with panicking tex_image_2d_multisample web-sys wrapper
* glsl: use shader version in GLSL for WebGL 2 and OpenGL 3.2
* shaders: add explicit float/int type conversions, required for WebGL
* shaders: specify mediump precision, required for WebGL
* shaders: specify fragment shader output locations for WebGL
* main: refactor handle_window_event to take a winit window, not glutin context
* main: handle resize outside of handle_window_event since it updates the glutin window (the only event which does this)
* main: use winit events in handle_window_event not reexported glutin events
* main: refactor game loop handling into tick_all()
* main: create winit window for WebGL, and use winit_window from glutin
* main: restore console_error_panic_hook, mistakingly removed in (#260)
* main: remove force setting env RUST_BACKTRACE=1, no longer can set env on web
* www: index.js: fix wasm import path
* www: npm update, npm audit fix
* www: update readme to link to status on #446🕸️ Web support
Closes#425 build(deps): bump wasm-bindgen from 0.2.68 to 0.2.69
Closes#426 build(deps): bump structopt from 0.3.20 to 0.3.21
Closes#427 build(deps): bump serde_json from 1.0.59 to 1.0.60
Closes#428 build(deps): bump serde from 1.0.117 to 1.0.118
Closes#433 build(deps): bump reqwest from 0.10.9 to 0.10.10
Fixes#408 1.16.1: EntityEquipment_VarInt : Main thread panic: Failed to read all of packet 0x47, had 363 bytes left - enchants
Fixes#421 1.16.1: EntityEquipment_VarInt : Player heads break things. (Failed to read all of packet 0x47, had 1292 bytes left)
Bump cfg-if to 1.0.0 (closes#412)
Bump serde to 1.0.117 (closes#416)
Bump serde_json to 1.0.59 (closes#413)
Bump structopt to 0.3.20 (closes#414)
Bump flate2 to 1.0.19 (closes#420)
Bump reqwest to 0.10.9 (closes#423)
Adds support for 1.16.4 (754) / 1.16.3 (753) / 1.16.2 (751) protocols
* Update packet IDs and readme
* Add and handle ChunkData_Biomes3D_VarInt variant
* Support world chunk data padded bit map array
* Add and handle JoinGame_WorldNames_IsHard variant
* Add and handle MultiBlockChange_Packed variant
* Add UnlockRecipes_WithBlastSmoker variant
* Add SetDisplayedRecipe and SetRecipeBookState packets
Closes#372 bump log from 0.4.8 to 0.4.11
Closes#387 bump reqwest from 0.10.6 to 0.10.8
Closes#391 bump wasm-bindgen from 0.2.64 to 0.2.68
Closes#403 bump serde_json from 1.0.56 to 1.0.58
Closes#405 bump flate2 from 1.0.16 to 1.0.18
Closes#409 bump structopt from 0.3.15 to 0.3.19
* Minor change: Don't consume self when writing packet to a writer. Mutability is not affected.
* Further decrease packet write requirements
Co-authored-by: Terminator <terminator@nonexistent.com>
Bump flate2 to 1.0.16, closes#350
Bump serde_json to 1.0.56, closes#349
Bump wasm-bindgen to 0.2.64, closes#348
gl: Bump libc to 0.2.71
protocol: Bump hex to 0.4.2
protocol: Bump aes to 0.4.0
protocol: Bump cfb8 to 0.4.0
protocol: Bump num-traits to 0.2.12
* Update shifted packet ids
* Add new smithing recipe type
* Also support 1.16 (735), same packets as 1.16.1 (736)
New packets:
* GenerateStructure
New packet variants:
* UseEntity_Sneakflag, split from UseEntity_Hand
* ClientAbilities_u8, split from ClientAbilities_f32
* UpdateJigsawBlock_Joint, split from UpdateJigsawBlock_Type
* ServerMessage_Sender, split from ServerMessage_Position
* ChunkData_Biomes3D_bool, split from ChunkData_Biomes3D
* JoinGame_WorldNames, split from JoinGame_HashedSeed_Respawn
* Respawn_WorldName, split from Respawn_Gamemode
* EntityEquipment_VarInt renamed
* UpdateLight_WithTrust, split from UpdateLight_NoTrust
* LoginSuccess_UUID, split from LoginSuccess_String
Update to structopt 0.3.15, closes#330
Update to base64 0.12.2, closes#329
Update to zip 0.5.6, closes#328
Update to serde_json 1.0.55, closes#327
Update to reqwest 0.10.6, closes#321
Update to flate2 1.0.14, closes#303
Update to byteorder 1.3.4, closes#285
Closes#276 Bump serde_json from 1.0.44 to 1.0.45
Closes#274 Bump structopt from 0.3.7 to 0.3.8
Closes#273 Bump image from 0.22.3 to 0.22.4
Closes#272 Bump rand from 0.7.2 to 0.7.3
Closes#270 Bump num-traits from 0.2.10 to 0.2.11
Closes#269 Bump reqwest from 0.10.0 to 0.10.1
Completes the move of the protocol implementation into a new
crate, named steven_protocol, in the protocol/ subdirectory.
* Add Cargo.toml for steven_protocol
* Add steven_protocol entrypoint in protocol/src/lib.rs
* Use steven_protocol in main
* Remove protocol in main, replaced by steven_protocol
* Remove unused dependencies moved into steven_protocol
The Display trait is already implemented, so this is only a code
deletion. Fixes 1.42-nightly warning:
warning: use of deprecated item 'std::error::Error::description': use the Display impl or to_string()
--> src/protocol/mod.rs:981:40
|
981 | Error::IOError(ref e) => e.description(),
| ^^^^^^^^^^^
|
= note: `#[warn(deprecated)]` on by default