Commit Graph
543 Commits
Author SHA1 Message Date
Jonas Volman 997abfe31c Match virtual keyboard buffer capacity helper 2026-07-15 12:39:42 -07:00
Jonas Volman 13621a1024 Match virtual keyboard process wrappers 2026-07-15 12:38:14 -07:00
Jonas Volman d6b1ac8380 Match virtual keyboard state leaves 2026-07-15 12:36:51 -07:00
Jonas Volman 997f5ee560 Match remaining random math functions 2026-07-15 12:24:01 -07:00
Jonas Volman 6c21bb283b Match wait action perform 2026-07-15 12:21:08 -07:00
Jonas Volman 56edab9e15 Match point physics map initialization 2026-07-15 12:20:55 -07:00
Jonas Volman d07bcfd883 Match point physics mass calculation 2026-07-15 12:16:57 -07:00
Jonas Volman 2f8bc50acd Match AI scenario state definitions 2026-07-15 12:09:36 -07:00
Jonas Volman 1c6b7f0a36 Match weighted AI array selection 2026-07-15 12:06:30 -07:00
Jonas Volman 148af7ab09 Match AI scenario name lookups 2026-07-15 11:57:50 -07:00
Jonas Volman d7782f0ff0 Match progress bar screen projection 2026-07-15 11:51:28 -07:00
Jonas Volman a896acec26 Match additional matrix helpers 2026-07-15 11:51:27 -07:00
Jonas Volman a2b3acd168 Match progress bar TGA loading 2026-07-15 11:37:24 -07:00
Jonas Volman 11db3ea997 Match basic matrix4x3 constructors 2026-07-15 11:32:43 -07:00
Jonas Volman e153466cb1 Match guard postcombat update cluster 2026-07-15 11:31:05 -07:00
Jonas Volman 8039b7434a Match progress bar texture coordinates 2026-07-15 11:22:49 -07:00
Jonas Volman c6bc35c537 Match progress bar display 2026-07-15 11:16:49 -07:00
Jonas Volman fb806015d4 Match progress bar initialization 2026-07-15 11:15:21 -07:00
Jonas Volman 5696844da4 Match progress bar texture helpers 2026-07-15 11:10:43 -07:00
Jonas Volman 5c1357dd6d Match encounters lifecycle allocation 2026-07-15 11:07:51 -07:00
Jonas Volman dc97b258a2 Match progress bar lifecycle controls 2026-07-15 11:07:30 -07:00
Jonas Volman b30b1235a6 Match progress bar active state 2026-07-15 11:04:08 -07:00
Jonas Volman 95beadea76 Match AI profile initialization 2026-07-15 11:02:23 -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 224a0e6148 Match rasterizer debug immediate hooks 2026-07-15 10:54:20 -07:00
Jonas Volman 004d6e5009 Match rasterizer spin hooks 2026-07-15 10:52:21 -07:00
Jonas Volman 9b5d42e0df Match rasterizer debug frame hooks 2026-07-15 10:52:20 -07:00
Jonas Volman 9611a306cb Match rasterizer motion sensor blip hooks 2026-07-15 10:47:41 -07:00
Jonas Volman 3394c4e84e Match rasterizer window hooks 2026-07-15 10:47:14 -07:00
Jonas Volman 61c6591c32 Match sound render time 2026-07-15 10:46:08 -07:00
Jonas Volman 38cdb4cd3b Match transparent geometry hooks 2026-07-15 10:45:23 -07:00
Jonas Volman 94d6a5846e Match input frame end 2026-07-15 10:43:08 -07:00
Jonas Volman 7b3358b9dc Match contrail render hooks 2026-07-15 10:42:21 -07:00
Jonas Volman fbb57c2b36 Match rasterizer frame statistics hooks 2026-07-15 10:38:11 -07:00
Jonas Volman 09056eb9bd Match rasterizer HUD and model hooks 2026-07-15 10:37:56 -07:00
Jonas Volman c59ef1cc28 Match wind old-map disposal 2026-07-15 10:36:20 -07:00
Jonas Volman a1177a764f Match rasterizer detail object hooks 2026-07-15 10:34:52 -07:00
Jonas Volman b3e24dbf41 Match game engine playlist initialization 2026-07-15 10:33:17 -07:00
Jonas Volman 29a4032a18 Match rasterizer light hooks 2026-07-15 10:32:40 -07:00
Jonas Volman 14e0368828 Match rasterizer decal hooks 2026-07-15 10:30:31 -07:00
Jonas Volman 6eecb234ca Match game sound lifecycle 2026-07-15 10:30:08 -07:00
Jonas Volman a1432273aa Match key agreement packet initialization 2026-07-15 10:28:28 -07:00
Jonas Volman 7102c6186b Match lightning lifecycle 2026-07-15 10:27:03 -07:00
Jonas Volman 3377c1dc3f Match draw string map lifecycle 2026-07-15 10:24:55 -07:00
Jonas Volman 0fd5ef2d7a Match glow lifecycle 2026-07-15 10:23:08 -07:00
Jonas Volman ddbcd02eb8 Match render object lifecycle 2026-07-15 08:58:07 -07:00
Jonas Volman b3009c8c9c Match antenna lifecycle 2026-07-15 08:56:46 -07:00
Jonas Volman 8fe7a20762 Match light volume lifecycle 2026-07-15 08:56:45 -07:00
Jonas Volman 96ce8f078f Match structures lifecycle 2026-07-15 08:53:18 -07:00