ChillerDragon
1b445c3a12
Add connless fields to initialize
2023-05-10 09:05:48 +02:00
ChillerDragon
7874d769aa
Start working on connection less messages
2023-05-09 17:06:40 +02:00
ChillerDragon
2ef0b07282
Add message_type field for control, game and system messages
2023-05-09 11:42:19 +02:00
ChillerDragon
5a85dfd7a0
Test pcap example
2023-05-07 12:55:19 +02:00
ChillerDragon
18dd35f4fa
Create chunk header instance for every message
2023-04-16 16:51:28 +02:00
ChillerDragon
6a351073d3
Include ids in message classes
2023-04-16 16:06:23 +02:00
ChillerDragon
1fd099c3de
Intentionally keep enums ints
...
https://gitlab.com/teeworlds-network/twnet_parser/-/issues/7
2023-04-16 11:25:31 +02:00
ChillerDragon
67c54c4be4
Use python enums for enums
...
I played a bit with getting the text instead
of the magic number in the string representation
but everything I tried got a bit ugly
2023-04-16 10:53:29 +02:00
ChillerDragon
e4ab0a7791
Make 0 member msgs look nicer
2023-04-16 09:40:12 +02:00
ChillerDragon
90b43608b9
Use named default for enums and move enum file
2023-04-16 09:28:36 +02:00
ChillerDragon
58051469f2
Start using classes in gen script to avoid globals
2023-04-16 08:52:03 +02:00
ChillerDragon
1767d05f4e
Generate enums
2023-04-16 08:43:37 +02:00
ChillerDragon
8b0cce28be
Expect the sha256 field to be 32 bytes
2023-04-16 08:15:55 +02:00
ChillerDragon
3b93a6bba2
Packing python bools as tw net bools just works
...
python handles bools more like the ints 0 and 1
and those are exactly the values the
teeworlds network protocol expects
I can totally see this breaking in python4
or a new mypy version
maybe one day a ``get_bool()`` could make sense
also for readability
but for now this should be stable as long as the
tests pass
2023-04-09 12:14:13 +02:00
ChillerDragon
2b28e755bc
Add support for the data size field
2023-04-09 11:44:43 +02:00
ChillerDragon
822074ea47
Add support for generating array chunk fields
2023-04-08 14:24:44 +02:00
ChillerDragon
7dfaeda45f
Apply sanitize string cc to all messages that need it
2023-04-07 14:27:25 +02:00
ChillerDragon
3df2a7fb12
Make the errors of run_tests.sh more intense
...
I did run ./scripts/run_tests.sh and thought they passed lol
pylint is not using colored output so in the green wall
of tests its easy to over see.
This should not happen again after this change.
2023-04-07 13:08:56 +02:00
ChillerDragon
a11a3cbb42
Switch back to setup.cfg in release script
2023-04-07 09:27:49 +02:00
ChillerDragon
2052ff6da0
Duplicate package test to other script for testing
2023-04-07 08:58:37 +02:00
ChillerDragon
d8790e94f4
Could also run python -m venv venv in CI
2023-04-06 19:43:29 +02:00
ChillerDragon
674e40c286
Ensure release passes all tests
2023-04-06 19:12:17 +02:00
ChillerDragon
2cbc3671bd
Stricter release testing in venv
...
https://gitlab.com/teeworlds-network/twnet_parser/-/issues/3
2023-04-06 19:07:41 +02:00
ChillerDragon
454dfcdde2
Only generate changelog for latest release
2023-04-06 18:23:25 +02:00
ChillerDragon
ccbc15d230
Move setup.cfg into pyproject.toml
2023-04-06 18:15:08 +02:00
ChillerDragon
78ea668487
Build twice to avoid having dirty working tree
...
Makes debugging build issues much more fun
2023-04-06 17:56:25 +02:00
ChillerDragon
760d8bce1f
Fix comment too long
2023-04-02 20:03:50 +02:00
ChillerDragon
044e17b6e6
Do not import unused Unpacker
2023-04-02 20:02:27 +02:00
ChillerDragon
d6d8abc091
Do not instantiate unused unpacker
2023-04-02 20:00:42 +02:00
ChillerDragon
df3fcb9b17
Fix optional type assuming int
2023-04-02 19:56:29 +02:00
ChillerDragon
bffa9f70cb
Warn about open todos on major release
...
During this early development I love hacking down
half finished unpolished code with open todos
and then mark them with a TODO comment
Then at some later point I might forget how everything
is held together by duck tape and do a 1.0.0 release
This check in the release script should avoid this mistake
and ensure that the 1.x.x and all other major releases
are what they claim to be: a finished, polished and working version
2023-04-02 19:37:27 +02:00
ChillerDragon
e20fd4c019
Use vanilla server defaults for tunes
2023-04-02 11:51:21 +02:00
ChillerDragon
029cebcb25
Fully support tune params
2023-04-02 10:39:52 +02:00
ChillerDragon
0013b9b8c0
Add shebang to gen script
2023-04-02 09:40:54 +02:00
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
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
4adf33061c
Gen game msg id matching
2023-03-29 14:51:58 +02:00
ChillerDragon
5f76de93a9
Generate pack() code for messages
2023-03-26 13:03:04 +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
845845b7b9
Some more semver thoughts
2023-03-19 11:41:49 +01:00
ChillerDragon
a58ae3aaca
Some changelog helpers
2023-03-18 10:29:28 +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
03efdeba83
Thoughts about semver
2023-03-18 10:01:24 +01:00
ChillerDragon
54f0f8cb7c
Push commit & tag and check branch in release script
2023-03-16 16:59:59 +01:00