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