Commit graph

  • 9bf5d4bcd4 Flip macro logic so fast dispatching is the implicit default development Chaosvex 2026-08-14 23:11:07 +01:00
  • 3c6cf25ee0 Disallow creating Event objects and setting the type in favour of creating a concrete type for each event type Chaosvex 2026-08-13 15:44:24 +01:00
  • 84cf1e78d0 Remove insert from SessionManager to simplify API since it's no longer needed Chaosvex 2026-08-13 15:21:02 +01:00
  • d151e8352d fn -> callback Chaosvex 2026-08-13 15:12:45 +01:00
  • e0adec6036 Return optional rather than iterator Chaosvex 2026-08-13 15:12:24 +01:00
  • 8a02539d17 Fix failing unit test Chaosvex 2026-08-10 00:30:01 +01:00
  • dd733c5f4f Make ordering consistent Chaosvex 2026-08-10 00:11:40 +01:00
  • bdfb9c6d0a Simplify logic Chaosvex 2026-08-10 00:11:32 +01:00
  • b2c88e1566 Fix potential off-by-one with large keys (that we don't need) Chaosvex 2026-08-10 00:10:47 +01:00
  • 2860bc39e1 Fix namespace typo Chaosvex 2026-08-09 23:45:05 +01:00
  • 2ef9dedb58 Revert "unique_lock -> lock_guard" Chaosvex 2026-08-09 23:44:38 +01:00
  • 3a36a25eb7 Mark as const Chaosvex 2026-08-09 23:27:35 +01:00
  • 1f46f6690a Deduplicate logging logic Chaosvex 2026-08-09 23:26:57 +01:00
  • 9bd90dd0c4 Slightly better naming Chaosvex 2026-08-09 23:26:03 +01:00
  • 9bacc51f02 unique_lock -> lock_guard Chaosvex 2026-08-09 23:24:58 +01:00
  • 1816e93d1c return -> break to prevent log output from being skipped Chaosvex 2026-08-09 23:24:21 +01:00
  • 4a2ec00bcf unique_lock -> lock_guard Chaosvex 2026-08-09 23:23:15 +01:00
  • 91b7a14927 Add missing include Chaosvex 2026-08-09 23:22:15 +01:00
  • c386db880c Simplify condition Chaosvex 2026-08-09 23:21:45 +01:00
  • 393278422f Remove type reptition Chaosvex 2026-08-09 23:17:33 +01:00
  • 89ee2cf8dc Message definition type fixes Chaosvex 2026-05-06 19:42:15 +01:00
  • 7ae18682e9 Message definition type fixes Chaosvex 2026-05-05 20:08:28 +01:00
  • 5add59d19e Polyfill tweak Chaosvex 2026-05-04 18:53:29 +01:00
  • 29235d98cf Type renames Chaosvex 2026-05-03 15:54:11 +01:00
  • 77672fd3b6 Formatting nit Chaosvex 2026-05-02 17:39:31 +01:00
  • fae11d5ce6 Small condition fix Chaosvex 2026-05-01 18:49:30 +01:00
  • 2f51df7ed1 Remove unused type (replaced by DBC reference) Chaosvex 2026-04-30 17:05:16 +01:00
  • a333a31fa7 Fix message name Chaosvex 2026-04-30 17:02:28 +01:00
  • 78b6b2d033 StaticAllocator -> InplaceAllocator Chaosvex 2026-04-30 15:06:14 +01:00
  • dffb830df4
    Message array size fields are now implicit and only used internally (#303) Chaosvex 2026-04-29 21:32:38 +01:00
  • 33e6afa479 Message array size fields are now implicit and only used internally protogen_counts Chaosvex 2026-04-29 21:24:56 +01:00
  • f84744d64e Tidy smsg_messagechat condition Chaosvex 2026-04-29 00:52:36 +01:00
  • 1ed9a98481 Message definition fixes Chaosvex 2026-04-29 00:48:37 +01:00
  • 11bd343827 Small naming fixes Chaosvex 2026-04-28 23:04:20 +01:00
  • fa377ad502
    Remove most handwritten packets & definition fixes (#302) Chaosvex 2026-04-28 22:55:33 +01:00
  • 2a6e9d8ed4 Remove Packets.h usage packet_gen_corrections Chaosvex 2026-04-28 22:43:50 +01:00
  • e779646013 Generated packet definition fixes Chaosvex 2026-04-28 22:18:00 +01:00
  • 3fbb2180aa
    JSON message definition dump (#301) Chaosvex 2026-04-28 17:38:11 +01:00
  • a352060370 Fix DBC definition message_dump Chaosvex 2026-04-28 17:14:05 +01:00
  • cd5230882c Const qualify type on write Chaosvex 2026-04-28 17:09:24 +01:00
  • 591c9a7c92 JSON message definition dump Chaosvex 2026-04-28 16:32:18 +01:00
  • a5750d002d Update default configs Chaosvex 2026-04-28 16:21:58 +01:00
  • 036977778b Remove stale comments Chaosvex 2026-04-27 21:08:49 +01:00
  • ce2907ef78 Fix realm queue tracking Chaosvex 2026-04-27 20:56:23 +01:00
  • e976fa92a1 Implement option to hard cap sockets Chaosvex 2026-04-27 20:40:40 +01:00
  • 24302a7f7e Dequeue the entire session queue in one go Helps relieve memory pressure under heavy load (although we're talking hundreds of thousands of connections cycling quickly) Chaosvex 2026-04-26 19:55:59 +01:00
  • 94e74ffeec Fix allocator use-after-free Chaosvex 2026-04-26 19:20:36 +01:00
  • e148fa6118 Don't send smsg_standstate_update Chaosvex 2026-04-26 18:25:51 +01:00
  • b3da83e5d5 Add version command Chaosvex 2026-04-26 17:22:40 +01:00
  • 2fa9ce7c9c Remove todo that is now done Chaosvex 2026-04-25 01:59:17 +01:00
  • 248155d1c7
    gtest version bump (#299) Chaosvex 2026-04-24 22:00:19 +01:00
  • caaa45d886 gtest version bump gtest_bump Chaosvex 2026-04-24 21:51:19 +01:00
  • 9fa9e4a77a Implement TransportInfo in MovementInfo Chaosvex 2026-04-23 22:30:29 +01:00
  • a4a44287fa Another batch of message definitions Chaosvex 2026-04-23 22:09:45 +01:00
  • 81cc19e217 Another batch of message definitions Chaosvex 2026-04-23 21:32:19 +01:00
  • 37d3bd8420 Generate *msg_battlefield_status messages Chaosvex 2026-04-23 19:46:40 +01:00
  • 7c4aae5bbb Replace smsg_auth_challenge Chaosvex 2026-04-23 19:12:14 +01:00
  • b36c8d40fb
    Extend protogen to support more complex conditions (#298) Chaosvex 2026-04-23 18:53:27 +01:00
  • 5cf9ffeb15 Extend protogen to support more complex conditions protogen_conditionals Chaosvex 2026-04-23 18:43:26 +01:00
  • 09ada1d11f Fix build name Chaosvex 2026-04-23 18:14:22 +01:00
  • 13ce17009d Update function name to more accurately reflect what it does Chaosvex 2026-04-23 17:38:06 +01:00
  • 90d00f754a Fix queue underflow assertion Chaosvex 2026-04-23 17:34:37 +01:00
  • 3dca764a0f Apply temporary vcpkg related CMake fixes Chaosvex 2026-04-23 16:26:58 +01:00
  • 1b6cb3b825 Fix potential sector iterator out of bounds in MPQ extraction Chaosvex 2026-04-23 16:19:15 +01:00
  • c0ce050dbb Add early return if no clients were dequeued Chaosvex 2026-04-23 15:57:23 +01:00
  • 77f28c269c Remove unused include Chaosvex 2026-04-23 14:05:29 +01:00
  • 4ca30362d8 Add queue mechanism to finally bypass locks upon client creation Chaosvex 2026-04-23 13:59:44 +01:00
  • 3fdad36af6 Update moodycamel dependency Chaosvex 2026-04-23 13:32:27 +01:00
  • ca52fbbfe2 Move concurrentqueue from logger to deps Chaosvex 2026-04-23 13:27:18 +01:00
  • b96f2debef Add unit tests to cover malformed PackedGuids Chaosvex 2026-04-23 11:28:29 +01:00
  • 34321d32a7 Fix header copyright year Chaosvex 2026-04-23 11:18:54 +01:00
  • 45659caead Add PackedGuid unit tests Chaosvex 2026-04-23 11:17:43 +01:00
  • 2b3329d3cc Add equality operator and ensure value is cleared before writing Chaosvex 2026-04-23 11:17:36 +01:00
  • ef5b20e095 Remove assignment operator Chaosvex 2026-04-23 10:35:20 +01:00
  • 5a0270ec3a Add write fast-path when all bits are set Probably won't be exercised in reality but worry about that another time Chaosvex 2026-04-23 09:54:36 +01:00
  • 418fe6edd7 Implement PackedGuid Not actually tested yet, so could have mistakes Chaosvex 2026-04-23 09:42:29 +01:00
  • 14f959edb9 Fix thread local realm client allocator usage This was actually sharing one allocator for all clients because the cached TLS handle is stored in a single instance of the allocator, rather than the intended usage where each client has a handle via its dynamic buffer. Oops! Chaosvex 2026-04-22 22:33:52 +01:00
  • 969e69081e Replace cmsg_ping and smsg_pong with generated versions Chaosvex 2026-04-22 15:48:35 +01:00
  • aa08df7f9c Replace smsg_trigger_cinematic with generated version Chaosvex 2026-04-22 13:55:20 +01:00
  • b1b3f07515 Add a batch of message definitions Chaosvex 2026-04-22 13:37:40 +01:00
  • ac3ad01499 Starting defining messages, split into directories for easier tracking Chaosvex 2026-04-22 11:46:17 +01:00
  • 9c078a4137 Make fields an optional property Chaosvex 2026-04-22 11:45:49 +01:00
  • c03659b61d Return exit code from protogen launch Chaosvex 2026-04-22 11:06:35 +01:00
  • 8785e99be1 Replace smsg_auth_response with generated version Just using AuthResponse as a thunk file for now, until everything is switched over Chaosvex 2026-04-22 10:57:26 +01:00
  • 7f148a5a87 Implement world packet code generation Currently outputs to 'generated' rather than 'protocol' until I've migrated the existing handwritten definitions. Chaosvex 2026-04-22 10:35:08 +01:00
  • 3ca42226d5 Remove Botan workaround, can go in its own commit later packets Chaosvex 2026-04-22 10:16:29 +01:00
  • a3a6ded9ea Print enumerators as hex Chaosvex 2026-04-22 10:15:11 +01:00
  • c0be0c869f Group codegen targets together since we've accumulated a bunch of them Chaosvex 2026-04-22 09:58:23 +01:00
  • 2b4e1fd353 Add support for generating enum & structs but still allowing for external type definitions Chaosvex 2026-04-22 09:49:37 +01:00
  • 1788f57e59 Remove errant #pragma once Chaosvex 2026-04-21 22:28:05 +01:00
  • 91e825da24 Simplify, didn't make use of this in the end Chaosvex 2026-04-21 22:22:53 +01:00
  • ec59bd4ebb Progress Chaosvex 2026-04-21 22:19:04 +01:00
  • fa571e7eea Move Inja to shared deps Chaosvex 2026-02-25 00:19:21 +00:00
  • 259f316162 Just let jsoncons throw exceptions for now Chaosvex 2026-02-25 00:10:32 +00:00
  • 4a032dc72c Initial barebones schema validation testing Chaosvex 2026-02-24 23:12:15 +00:00
  • 4ad343253d Add stub messagegen to CMake build Chaosvex 2026-02-24 22:14:59 +00:00
  • 62a05b58d6 Add jsoncons headers Chaosvex 2026-02-24 22:03:35 +00:00
  • 02263df491 Start trying to figure out a packet parse Chaosvex 2026-02-24 19:30:17 +00:00
  • 784f639968 Allow FindMySQLConnectorCPP to work with vcpkg on Windows Chaosvex 2026-04-21 12:58:53 +01:00
  • 8c64e7c97a Botan 3.11 no longer includes exception header transitively, fix Chaosvex 2026-04-21 12:46:25 +01:00