Commit Graph
125 Commits
Author SHA1 Message Date
Jonas Volman a5e7c570a5 Match LRAR cache lookup and flush 2026-07-17 10:27:28 -07:00
Jonas Volman cb1da748b6 Match integer data encoder 2026-07-17 10:23:39 -07:00
Jonas Volman 460468094b Match LRAR cache constructor 2026-07-17 10:23:18 -07:00
Jonas Volman 466c58e3a5 Match array object 2026-07-17 09:49:05 -07:00
Jonas VolmanandClaude Opus 4.8 52448097ed Reconstruct lra cache foundation and exact lifecycle
Recover the least-recently-allocated cache primitive from the January
object: 0x3c-byte lra_cache ('lrac' signature, name, size,
base_address, malloced flag, last_block, update/delete procs) and
0x10-byte in-buffer lra_block headers ('Ablh' signature with locked
and deleted flag bits, user address pointer, size, forward chain).

Seven of fourteen functions are proven exact: lra_full, lra_new,
lra_dispose, lra_flush, the default update/delete callbacks and the
block-invalidate helper code_0010ba10 with its ESI/ECX register
convention. The remaining seven are byte-complete reconstructions
blocked on a single interlocked register-allocation choice (cache in
EBX versus EDI) shared by the verify helpers and their callers, plus
one callee-saved-count difference in lra_allocate.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-17 09:44:38 -07:00
Jonas Volman aff319b28d Match scalar data decoders 2026-07-17 08:17:21 -07:00
Jonas Volman 4f65af222b Match LRUV cache eviction and resizing 2026-07-17 01:54:57 -07:00
Jonas Volman af7e234088 Match texture page foundation 2026-07-17 01:34:22 -07:00
Jonas Volman d78fe9c120 Reconstruct exact lruv cache foundation 2026-07-17 01:34:22 -07:00
Jonas Volman 4ee9963eef Match data packet encoder 2026-07-17 01:18:55 -07:00
Jonas Volman 1e03d3fc9c Reconstruct hashtable foundation and exact lifecycle 2026-07-17 01:14:46 -07:00
Jonas Volman 684e427f0d Match structure data encoding 2026-07-17 01:02:57 -07:00
Jonas Volman 61b9017d95 Match byte swapping object 2026-07-17 00:57:00 -07:00
Jonas Volman 94633a7f65 Match dynamic and static array primitives 2026-07-17 00:48:43 -07:00
Jonas Volman 3c9e18fd31 Reconstruct stack memory pool reset and layouts 2026-07-17 00:41:01 -07:00
Jonas Volman 767feedc7a Match memory pool validation and block operations 2026-07-17 00:41:01 -07:00
Jonas Volman 1c6a667011 Match LRAR cache validation and lifecycle helpers 2026-07-17 00:04:47 -07:00
Jonas Volman a8a4a964ff Match LRU cache core 2026-07-16 23:53:19 -07:00
Jonas Volman 838c86efa6 Match game state allocation helpers 2026-07-16 22:12:34 -07:00
Jonas Volman 54e1693a5e Match byte swapping code interpreter 2026-07-16 22:09:21 -07:00
Jonas Volman 5aea09d475 Reconstruct byte swapping definitions 2026-07-16 21:17:41 -07:00
Jonas Volman 0e50ef0aca Match byte swapping definition wrappers 2026-07-16 21:17:41 -07:00
Jonas Volman c8bad6b128 Match string encoding 2026-07-16 20:41:37 -07:00
Jonas Volman 676874c747 Match bounded integer decoding 2026-07-16 20:38:17 -07:00
Jonas Volman 202f66fd13 Match data string decoding 2026-07-16 20:36:56 -07:00
Jonas Volman 82d6a39cf8 Match data encoding state and 64-bit decode 2026-07-16 20:34:43 -07:00
Jonas Volman 1978421fc0 Match data allocation and reverse traversal 2026-07-16 15:59:40 -07:00
Jonas Volman 8af47858f9 Match data lookup and traversal 2026-07-16 15:43:40 -07:00
Jonas Volman f3784f27bc Match core data array operations 2026-07-16 15:28:49 -07:00
Jonas Volman 73ce982b0d Reconstruct circular queue dequeue 2026-07-15 20:00:08 -07:00
Jonas Volman eca5cb1a16 Reconstruct data packet serialization 2026-07-15 18:52:51 -07:00
Jonas Volman cf1d743355 Match packet group decoding 2026-07-15 18:22:46 -07:00
Jonas Volman ff885d183d Match packet group encoding 2026-07-15 18:17:03 -07:00
Jonas Volman a9a77b3a3a Match packet group header encoding 2026-07-15 18:14:56 -07:00
Jonas Volman 1105ae8591 Match packet group initialization 2026-07-15 18:12:45 -07:00
Jonas Volman 128c787f0e Match packet group error retrieval 2026-07-15 18:09:17 -07:00
Jonas Volman dfaa3a9a34 Reconstruct network message packet definitions 2026-07-15 17:34:34 -07:00
Jonas Volman 66d0f54f9c Match network game message creation 2026-07-15 16:22:59 -07:00
Jonas Volman 1aa822f30c Correct network packet class API 2026-07-15 11:00:01 -07:00
Jonas VolmanandClaude Opus 4.8 35d3a59674 Match network game message initialization, event, and decode
Reconstruct three bounded functions in network_messages.obj against the
January target object:

  initialize_network_game_packets  0x10 padded,  2 relocations
  network_event                    0x60 padded,  8 relocations
  decode_network_game_message      0xa0 padded,  8 relocations

All three are proven exact by coff_compare.py: padded size, normalized
hash, and every relocation offset, type, resolved target and addend.

Parameter names and assert expressions are recovered from the target's
own assert strings. data_0030aa68 is declared with a named container
type following the initialize_key_agreement_packets convention, placing
the packet group at +0x830; its definition is deferred with the packet
definition table.

data_packet_group_decode_packet is declared in data_packet_groups.h,
whose parameter names come from the callee's assert strings.
data_packet_groups.h now includes cseries.h so it is self-sufficient for
translation units that include it without cseries.h first.

code_0011af00 (encode_network_game_message) is left dormant: it takes
message_struct, encoded_message and encoded_message_size in edi/ebx/esi
without saving them, so it uses a private register calling convention
that MSVC only selects with its sole caller, create_network_game_message,
present in the same translation unit.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-15 10:58:22 -07:00
Jonas Volman a1432273aa Match key agreement packet initialization 2026-07-15 10:28:28 -07:00
Jonas Volman 17fbdf8d9a Reconstruct game statistics finalization 2026-07-14 21:43:19 -07:00
Jonas Volman 166b7db56a Conform circular queue declarations 2026-07-14 19:11:30 -07:00
Jonas Volman fe021e0300 Match circular queue operations 2026-07-14 19:11:30 -07:00
Jonas Volman 522261011c Name CRC table state 2026-07-14 16:07:35 -07:00
Jonas Volman d82b408fe6 Mark crc object matching 2026-07-14 16:06:30 -07:00
Jonas Volman dc6d0bab08 Match crc_checksum_buffer 2026-07-14 16:06:30 -07:00
Jonas Volman b93d18be4f Define CRC table state 2026-07-14 16:06:30 -07:00
Jonas Volman 6e24fe58bd Match CRC table initialization 2026-07-14 16:06:30 -07:00
Jonas Volman 321c31cca9 Match crc_new 2026-07-14 16:06:30 -07:00