Commit Graph

33 Commits

Author SHA1 Message Date
ice_iix 6394b60a39 Fix clippy::needless_borrow in console
Clippy says the compiler automatically borrows this
2022-10-30 15:32:31 -07:00
iceiix bbbe58a112
Update to Rust 1.59.0 (#718)
* Update to Rust 1.59.0

* Fix clippy::single_char_pattern in console, ui/logo

* Fix clippy::needless_late_init in load_block_entities
2022-08-28 08:27:39 -07:00
iceiix 3e3bcdc5da
protocol, console, server: receive chat messages (#479)
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
2021-01-24 17:41:16 -08:00
iceiix 3daa9c0b83
console: configurable log levels, file logging (#359) (#488)
* console: write to log file (configdir/client.log)

* console: change to log only Info and more important to terminal (but all to file)

* console: configurable log levels
2021-01-20 15:22:28 -08:00
ice_iix 8fb5491e15 Add missing default implementations (new_without_default) 2020-06-29 18:42:07 -07:00
ice_iix c2e3ddb805 Fix write_with_newline, use writeln 2020-06-29 18:06:35 -07:00
ice_iix c3038f82ce Remove redundant imports (single_component_path_imports) 2020-06-29 18:01:02 -07:00
iceiix 518b6a07f8
Reformat all source with cargo fmt (#335) 2020-06-21 12:17:24 -07:00
ice_iix c88631b124 Fix bare trait objects warning, add explicit `dyn` 2019-11-02 15:46:06 -07:00
iceiix 836ab9f126
wasm: Fix operation not supported on std::fs. Closes #115 (#166)
* Add new web-based std::fs replacement, localstoragefs:

https://github.com/iceiix/localstoragefs

* Add std_or_web to switch between std::fs (native) or localstoragefs (web)

* Update www readme for new missing glutin/winit links, opens issue #171
2019-05-29 08:21:56 -07:00
iceiix fd7add3f17
wasm: log output to browser JavaScript console (#163)
Logging from the `log` facade goes to the colorized in-game GUI console (opened with the backtick key), as well as standard output using `println!` on the native build. To make this work on the wasm build, web-sys is used to access the `console` object, to call `console.log`, `console.warn`, and so on corresponding to the log levels. Extends #92, fails later (see also #115) but now outputs the starting up message:

[main.rs:206][INFO] Starting steven

* Add println! logging to console.log on wasm

* Initialize logger before config (called 'console variables' for some reason) to avoid having to disable it to reach the first logging statement

* Add web-sys crate for browser console access, wasm32-only

* Refactor logger to call println_level on both web/native

* Add multiple log levels, console.warn etc., matching console_log crate

https://github.com/iamcodemaker/console_log#details
2019-05-22 16:12:43 -07:00
ice_iix 77cd4ecf35 Use field init shorthand, instead of x:x, just x,
https://rust-lang-nursery.github.io/edition-guide/rust-2018/data-types/field-init-shorthand.html

find src -name '*.rs' -exec perl -pe 's/\b(\w+): \1,/$1,/g' -i {} \;
2018-11-04 13:43:30 -08:00
ice_iix 2af7307d8b Remove inferred 'static lifetime on const, Rust 1.17+
No longer needed since it is inferred automatically:
https://rust-lang-nursery.github.io/edition-guide/rust-2018/ownership-and-lifetimes/simpler-lifetimes-in-static-and-const.html
2018-11-04 13:37:57 -08:00
ice_iix a40cd43a2e Update to use crate:: for current crate, for Rust 2018 edition
From `cargo fix --edition`, see https://rust-lang-nursery.github.io/edition-guide/print.html#the-crate-keyword-refers-to-the-current-crate
2018-11-04 12:06:00 -08:00
iceiix b17f296ab4
Replace hyper with reqwest (#7)
An old version of hyper was used before (0.8.0), in the process of updating to hyper 0.12.11, found this higher-level replacement/wrapper, reqwest 0.9.4 which is simpler to use than the latest hyper and serves the purpose of a simple HTTP client well

* Begin updating to hyper 0.12.11

https://github.com/iceiix/steven/issues/4#issuecomment-425759778

* Use type variables for hyper::Client

* Fix setting header syntax, Content-Type: application/json, 17->13

* Parse strings into URLs with url.parse::<hyper::Uri>().unwrap()

b20971cb4e/examples/client.rs (L25)

* Use hyper::Request::post() then client.request() since client.post() removed

* wait() on the ResponseFuture to get the Result

* try! to unwrap the Result

* status() is now a method

* Concatenate body chunks unwrap into bytes, then parse JSON from byte slice, instead of from_reader which didn't compile

* Replace send() with wait() on ResponseFuture

* Parse HeaderValue to u64

* Slices implement std::io::Read trait

* Read into_bytes() instead of read_to_end()

* Disable boxed logger for now to workaround 'expected function, found macro'

* Remove unnecessary mutability, warnings

* Hack to parse twice to avoid double move

* Use hyper-rustls pure Rust implementation for TLS for HTTPS in hyper

* Start converting to reqwest: add Protocol::Error and reqwest::Error conversion

* Use reqwest, replacing hyper, in protocol

* Convert resources to use reqwest instead of hyper

* Convert skin download to reqwest, instead of hyper

* Remove hyper

* Revert unnecessary variable name change req/body to reduce diff

* Revert unnecessary whitespace change to reduce diff, align indentation on .

* Fix authenticating to server, wrong method and join URL

* Update Cargo.lock
2018-10-27 17:03:34 -07:00
ice_iix 43f6565fa5 Update to log 0.4.5
https://github.com/iceiix/steven/issues/4
2018-09-30 16:36:00 -07:00
llogiq 5e0c041a71 Fixed another batch of clippy warnings
Those are mostly readability-related. Also did a cargo update.
2016-09-15 15:15:52 +01:00
Thinkofname a7caa50b6f Rewrite the UI system (Closes #12) 2016-04-24 12:29:25 +01:00
Thinkofname 50ded118f3 Remove a leftover comment 2016-04-21 11:43:42 +01:00
Thinkofname edf6f34a0b Separate the console and console vars. Removes the need to lock on the console to read vars 2016-04-21 11:40:50 +01:00
TheUnnamedDude 4c590f8184 Add a options/pause menu (Closes #4) 2016-04-09 09:56:55 +01:00
llogiq 0b8cc33c17 Fixed various clippy warnings 2016-04-03 01:26:31 +01:00
Thinkofname c70f9548c6 Follow some of clippy's suggestions 2016-03-26 14:24:26 +00:00
Thinkofname 1fc161c53c Allow connecting to servers 2016-03-21 10:55:31 +00:00
Thinkofname 19b4238dca Filter hyper and mime from logs 2016-03-21 00:15:41 +00:00
Thinkofname b418625a48 Work on login screen, added ui buttons and textboxes (plus tab fixes) 2016-03-20 20:17:21 +00:00
Thinkofdeath 70b6738d87 Update copyright 2016-03-16 18:25:35 +00:00
Thinkofdeath 3704b9eeb8 Reformat using rustfmt 2015-10-07 19:36:59 +01:00
Thinkofdeath 526aaffec3 Fix logging the file name on windows 2015-10-06 23:06:18 +01:00
Thinkofdeath 4a3fc19713 Add basic cvar saving and loading 2015-09-29 23:24:58 +01:00
Thinkofdeath 12a88b07b9 Base console implementation 2015-09-29 22:33:24 +01:00
Thinkofdeath 302af6393d Tidy up 2015-09-29 20:09:36 +01:00
Thinkofdeath bdfc002e99 Clean up 2015-09-28 23:37:14 +01:00