Commit graph

60 commits

Author SHA1 Message Date
ChillerDragon 41f4742ac1 Generate system message matcher 2023-03-31 10:14:55 +02:00
ChillerDragon a19df04b80 Sort dependencies to avoid changes on regen
Seems like the set has different orders when running
the generate script multiple times
this causes all game message class files to change
2023-03-31 09:55:07 +02:00
ChillerDragon e0203ebc78 Fix map change msg field rename
`chunks_per_request` -> `msg.num_response_chunks_per_request`
2023-03-31 09:32:47 +02:00
ChillerDragon 0d4f6057a2 Prefix generated classes with Msg 2023-03-29 16:50:28 +02:00
ChillerDragon d21092f44b Fix line too long (pylint) 2023-03-29 16:23:11 +02:00
ChillerDragon b39f067222 Generate system messages 2023-03-29 16:22:00 +02:00
ChillerDragon 14fd5f2b40 Fix rename 2023-03-29 14:54:21 +02:00
ChillerDragon 0131390285 Rename message constants to match generated code 2023-03-29 14:52:39 +02:00
ChillerDragon 4adf33061c Gen game msg id matching 2023-03-29 14:51:58 +02:00
ChillerDragon e77422bf1f Add broadcast packet test (not passing yet) 2023-03-29 13:26:34 +02:00
ChillerDragon 5f76de93a9 Generate pack() code for messages 2023-03-26 13:03:04 +02:00
ChillerDragon 992a855a57 Fix and finish map change msg 2023-03-26 12:22:13 +02:00
ChillerDragon a55817e8ab Some progress on packing (pack() and unpack raw) 2023-03-26 11:19:47 +02:00
ChillerDragon e22530743c Fix build of generated game msgs
the vote status field `pass` conflicts
with the python keyword so rename it to `pass_`

also fix `get_string()` not being a function
2023-03-25 18:43:45 +01:00
ChillerDragon bfa8162aa1 Start working on code generation
Using libtw2's network spec

a6e26ebd0a/gamenet/generate/spec
2023-03-25 18:19:52 +01:00
ChillerDragon 9d2524c199 Support parsing compressed packets 2023-03-25 16:12:27 +01:00
ChillerDragon f2ab08bfa6 Fix wrong offset when parsing multiple chunks 2023-03-25 16:11:42 +01:00
ChillerDragon 86d591bbdd Show flags when printing chunk header 2023-03-25 16:09:53 +01:00
ChillerDragon 1574c64d06 huffman: please mypy and pylint 2023-03-25 16:06:44 +01:00
ChillerDragon c477f736cb Add @edg-l's huffman from TeeAI 2023-03-25 14:41:51 +01:00
ChillerDragon 51dc981acf Release 0.2.0 2023-03-25 14:27:00 +01:00
ChillerDragon 0988cff4c9 Refactor to prepare proper msg unpacking
Rename `name` -> `message_name`
Replaced `GameMessage` and `SysMessage` with duck typed `NetMessage`
Split up packet.py in multiple files
2023-03-25 14:22:45 +01:00
ChillerDragon d96367374e Use map change as the first sample message 2023-03-23 13:29:44 +01:00
ChillerDragon 60ef395086 Release 0.1.2 2023-03-19 18:24:03 +01:00
ChillerDragon be2ffcc690 Fix import 2023-03-19 18:22:45 +01:00
ChillerDragon bdfa4bf2a0 Relative imports are broken 2023-03-19 18:13:18 +01:00
ChillerDragon 17b99ef262 Release 0.1.1 2023-03-19 18:07:02 +01:00
ChillerDragon cec1edcaa5 First draft of chunk header parsing 2023-03-19 18:03:13 +01:00
ChillerDragon 32ba361c04 Thoughts about packers 2023-03-19 14:34:51 +01:00
ChillerDragon 1a0e195060 Add tests for int unpacker 2023-03-19 14:24:44 +01:00
ChillerDragon bf28581b44 Port C unpacker code letter by letter to python 2023-03-19 11:57:10 +01:00
ChillerDragon 51b0b6ca9a Note about immaturity 2023-03-19 11:44:40 +01:00
ChillerDragon 845845b7b9 Some more semver thoughts 2023-03-19 11:41:49 +01:00
ChillerDragon 6240dd36e5 Polish and test int packer 2023-03-19 11:40:15 +01:00
ChillerDragon 10c089debc Commit int packer with dbg to keep it in history
Results match expectation
2023-03-19 11:24:25 +01:00
ChillerDragon dd888341d3 Add chunk parsing tests 2023-03-18 11:47:20 +01:00
ChillerDragon a58ae3aaca Some changelog helpers 2023-03-18 10:29:28 +01:00
ChillerDragon 8bdf5ce49c Release 0.1.0 2023-03-18 10:10:02 +01:00
ChillerDragon 2ca10fc4f5 drunk devs 2023-03-18 10:09:24 +01:00
ChillerDragon ba12559348 Nicer release script format 2023-03-18 10:07:51 +01:00
ChillerDragon c8f8ca6a21 Break api packet.parse -> packet.parse7
Rename the main `twnet_parser.packet.parse()` method.
Into more explicit `parse6()` and `parse7()`
2023-03-18 10:04:11 +01:00
ChillerDragon 03efdeba83 Thoughts about semver 2023-03-18 10:01:24 +01:00
ChillerDragon f6a1eb3560 Define scope of the project 2023-03-18 09:35:43 +01:00
ChillerDragon 9c3cbbc105 Do not abstract away versions
This library should not try to detect versions
because the user of the library might not want to do that
and it has performance implications

A user of this library should either know which protocol
version they expect to send and receive or they should just
try the 0.6 parser and then the 0.7 parser of this library
and decide them selfs which version to detect
2023-03-18 09:10:56 +01:00
ChillerDragon 6f2a9eda51 Some thoughts on edge cases and performance 2023-03-18 09:08:12 +01:00
ChillerDragon 8c78cdc759 Rename Header to PacketHeader
This avoids a conflict with ChunkHeader
2023-03-18 08:50:49 +01:00
ChillerDragon e3d026763a Fix dev setup command 2023-03-16 17:08:27 +01:00
ChillerDragon 54f0f8cb7c Push commit & tag and check branch in release script 2023-03-16 16:59:59 +01:00
ChillerDragon fa0751790e Getting started as a lib user now works :) 2023-03-16 16:56:37 +01:00
ChillerDragon 24758fbaa9 Release 0.0.2 2023-03-16 16:52:27 +01:00