1
Fork 0
mirror of https://github.com/redstrate/Kawari.git synced 2025-04-27 17:07:46 +00:00
Commit graph

6 commits

Author SHA1 Message Date
7315ece194 Move some larger Lobby IPC structs to their own files, add more tests for these
Also fix a bunch of mistakes when calculating size, and so on.
2025-03-16 18:15:19 -04:00
f5d75301b2 Re-organize the IPC structures so they live in their own server-specific module
My old setup of throwing *all* of the IPC types and opcodes into *one* enum was
becoming unbearable. Now that we have multiple things using the same opcodes
(because they can overlap) I think it's time to repay this technical debt.

This overhauls the structure of the project to move IPC structs into their own
modules, and separate the opcode data/lists into separate ones depending on if
it's clientbound and serverbound.

Nothing has changed functionall, but this is going to make it way easier to add
more IPC in the future.
2025-03-16 17:43:29 -04:00
23050e7b95 Move more structs out of the root src/ folder and into their respective server 2025-03-16 15:39:44 -04:00
f8a28e45c9 Add helper function to send lobby errors
This isn't used yet, but implemented for future use.
2025-03-16 15:20:55 -04:00
a72199e5af Use the same nameday/deity/etc information everywhere, add tests for PlayerSpawn
This doesn't really fix anything functionally, but makes the Character window
look nicer. The same (currently unchangable) data is now reflected in the lobby.
2025-03-16 14:43:30 -04:00
f372f3173d Create dedicated Connection implementations to handle future server work
The current situation of throw-every-piece-of-logic-into-one-file for each
server isn't working out. So now there is a new ZoneConnection/LobbyConnection
struct that will be delegating tasks to their own Handlers (for example, there
could be a ChatHandler.)

I'm not sure how well this architecture will scale, but it's better than what
we have right now.
2025-03-15 20:38:10 -04:00