Commit graph

42 commits

Author SHA1 Message Date
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
ChillerDragon 18f5c146b4 Overengineer release script 2023-03-16 16:51:57 +01:00