diff options
| author | mat <27899617+mat-1@users.noreply.github.com> | 2022-12-07 21:09:58 -0600 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2022-12-07 21:09:58 -0600 |
| commit | 7d901e39bc10a855b545d7b6c167f45148a1fb0a (patch) | |
| tree | 88fe0a8f2f04f49f4df90e2f5462aa35a4278c68 /azalea-protocol/azalea-protocol-macros/src | |
| parent | 9f5e5c092be9167e4d5222fdee4a1d2c419e5052 (diff) | |
| download | azalea-drasl-7d901e39bc10a855b545d7b6c167f45148a1fb0a.tar.xz | |
1.19.3 (#34)
* start updating to 22w42a
* work a bit more on 22w42a
* player chat packet
* serverbound hello packet
* Update mod.rs
* add more stuff to clientbound player chat packet
* ClientboundPlayerInfoUpdatePacket
* features enabled and container closed
* serverbound chat packets
* make it compile
* 22w43a
* ServerboundChatSessionUpdatePacket
* profile_public_key isn't Option anymore
* Update bitset.rs
* joining a server works
* fix entitydatavalue
* backtraces + fix clientbound chat message
* fix some warnings and add more ecomments
* 22w44a
* generate en_us.json
* add updating guide to codegen/readme
* fix some markdown
* update list of generated things
* metadata stuff
* Replace PJS generator mod with PixLyzer (#38)
* pixlizer extractor
* start working on shape extraction
* fix generating language
* fix pixlyzer shape generation
* use empty_shape
* generate blocks and shapes
* update pixlyzer dir
* Revert "update pixlyzer dir"
This reverts commit ee9a0e7a49936dd8569c610ba9b6455895eeff71.
* fix
* fix
* Revert "fix"
This reverts commit ad12ddcb009ccc4eeb13ddef0871db1d9322ab7d.
* fix
* detect pixlyzer fail
* fix pixlyzer
* 22w45a
* gen entities
* add async-trait dep
* update codegen/readme.md
* explain when rust_log should be used
* remove some unused code
* start fixing pixlyzer issues
* fix a thing in codegen
* almost fixed
* more progress towards 1.19.3
* 1.19.3-pre2
* fixes
* revert some hardcoded property names
* Delete clientbound_player_info_packet.rs
* handle 1.19.3 player info packets
* handle playerinforemove
* start updating to 1.19.3-rc1
* optional registries work
* fix some issues with 1.19.3
chat doesn't work yet
* aaaaaaaaaaaaaaaaa
* oh
* ignore unused shapes
* uncomment generate_blocks
* fix migrate
* 1.19.3-rc2
* fix clippy warnings
* 1.19.3-rc3
* split the azalea-buf macro into separate modules
* improve Recipe in protocol
* 1.19.3
Diffstat (limited to 'azalea-protocol/azalea-protocol-macros/src')
| -rwxr-xr-x | azalea-protocol/azalea-protocol-macros/src/lib.rs | 43 |
1 files changed, 31 insertions, 12 deletions
diff --git a/azalea-protocol/azalea-protocol-macros/src/lib.rs b/azalea-protocol/azalea-protocol-macros/src/lib.rs index b7e85435..849a49e7 100755 --- a/azalea-protocol/azalea-protocol-macros/src/lib.rs +++ b/azalea-protocol/azalea-protocol-macros/src/lib.rs @@ -221,11 +221,19 @@ pub fn declare_state_packets(input: TokenStream) -> TokenStream { }); serverbound_read_match_contents.extend(quote! { #id => { - let data = #module::#name::read(buf).map_err(|e| crate::read::ReadPacketError::Parse { source: e, packet_id: #id, packet_name: #name_litstr.to_string() })?; - let mut leftover = Vec::new(); - let _ = std::io::Read::read_to_end(buf, &mut leftover); - if !leftover.is_empty() { - return Err(crate::read::ReadPacketError::LeftoverData { packet_name: #name_litstr.to_string(), data: leftover }); + let data = #module::#name::read(buf).map_err(|e| crate::read::ReadPacketError::Parse { + source: e, + packet_id: #id, + backtrace: Box::new(std::backtrace::Backtrace::capture()), + packet_name: #name_litstr.to_string(), + })?; + #[cfg(debug_assertions)] + { + let mut leftover = Vec::new(); + let _ = std::io::Read::read_to_end(buf, &mut leftover); + if !leftover.is_empty() { + return Err(Box::new(crate::read::ReadPacketError::LeftoverData { packet_name: #name_litstr.to_string(), data: leftover })); + } } data }, @@ -246,14 +254,25 @@ pub fn declare_state_packets(input: TokenStream) -> TokenStream { }); clientbound_read_match_contents.extend(quote! { #id => { - let data = #module::#name::read(buf).map_err(|e| crate::read::ReadPacketError::Parse { source: e, packet_id: #id, packet_name: #name_litstr.to_string() })?; + let data = #module::#name::read(buf).map_err(|e| crate::read::ReadPacketError::Parse { + source: e, + packet_id: #id, + backtrace: Box::new(std::backtrace::Backtrace::capture()), + packet_name: #name_litstr.to_string(), + })?; #[cfg(debug_assertions)] { let mut leftover = Vec::new(); let _ = std::io::Read::read_to_end(buf, &mut leftover); if !leftover.is_empty() { - return Err(crate::read::ReadPacketError::LeftoverData { packet_name: #name_litstr.to_string(), data: leftover }); - + return Err( + Box::new( + crate::read::ReadPacketError::LeftoverData { + packet_name: #name_litstr.to_string(), + data: leftover + } + ) + ); } } data @@ -314,13 +333,13 @@ pub fn declare_state_packets(input: TokenStream) -> TokenStream { fn read( id: u32, buf: &mut std::io::Cursor<&[u8]>, - ) -> Result<#serverbound_state_name, crate::read::ReadPacketError> + ) -> Result<#serverbound_state_name, Box<crate::read::ReadPacketError>> where Self: Sized, { Ok(match id { #serverbound_read_match_contents - _ => return Err(crate::read::ReadPacketError::UnknownPacketId { state_name: #state_name_litstr.to_string(), id }), + _ => return Err(Box::new(crate::read::ReadPacketError::UnknownPacketId { state_name: #state_name_litstr.to_string(), id })), }) } } @@ -345,13 +364,13 @@ pub fn declare_state_packets(input: TokenStream) -> TokenStream { fn read( id: u32, buf: &mut std::io::Cursor<&[u8]>, - ) -> Result<#clientbound_state_name, crate::read::ReadPacketError> + ) -> Result<#clientbound_state_name, Box<crate::read::ReadPacketError>> where Self: Sized, { Ok(match id { #clientbound_read_match_contents - _ => return Err(crate::read::ReadPacketError::UnknownPacketId { state_name: #state_name_litstr.to_string(), id }), + _ => return Err(Box::new(crate::read::ReadPacketError::UnknownPacketId { state_name: #state_name_litstr.to_string(), id })), }) } } |
