Reduce game implementation repetition (#122)

* [Games] Add macro to replace valve game query implementations

This somewhat reduces repeated code (#120), and also adds auto-generated
doc comments to all valve game query functions.

* [Games] Add macro to replace gamespy game query implementations

This somewhat reduces repeated code (#120), and also adds auto-generated
doc comments to all gamespy game query functions.

* [Games] Add macro to replace quake game query implementations

This somewhat reduces repeated code (#120), and also adds auto-generated
doc comments to all quake game query functions.

* [Games] Move all valve game modules into a single file using macros

Vastly reduces the number of files. However does break the game
definition-per-file test, so that was removed.

* [Games] Move all quake game modules into a single file using macros

* [Games] Move all gamespy game modules into a single file using macros

* [Docs] Update CHANGELOG

* [Docs] Improve game query function generation macro documentation

* [Games] Add missed Halo: Combat Evolved to gamespy
This commit is contained in:
Tom 2023-10-10 06:26:35 +00:00 committed by GitHub
parent c8a93357cf
commit 3b9c784e70
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
61 changed files with 250 additions and 872 deletions

View file

@ -10,6 +10,12 @@ Protocols:
- Minecraft Java: Add derives to `RequestSettings` and add `new_just_hostname` that creates new settings just by specifying
the hostname, `protocol_version` defaults to -1.
Games:
- Organised game modules into protocols (when protocol used by other games),
you can now access a game by its name or by its protocol name:
- `use gamedig::games::teamfortress2;`
- `use gamedig::games::valve::teamfortress2;`
Generics:
- Added standard derives to `ProprietaryProtocol`, `CommonResponseJson`, `CommonPlayerJson`, `TimeoutSettings` and
`ExtraRequestSettings`.