Commit Graph
567 Commits
Author SHA1 Message Date
Jonas Volman d2f32b0309 Match actor type dispatch object 2026-07-15 15:35:05 -07:00
Jonas Volman 983b979e7f Match actor lifecycle 2026-07-15 15:21:55 -07:00
Jonas Volman e2d8e49e5c Reconstruct transport address leaves exactly 2026-07-15 15:17:53 -07:00
Jonas Volman 0ba30167e9 Match actor state query leaves 2026-07-15 15:17:31 -07:00
Jonas Volman 94e753a9dd Match scenery object 2026-07-15 14:56:29 -07:00
Jonas Volman 4b58bda7e6 Match control activation handlers 2026-07-15 14:31:23 -07:00
Jonas Volman fe65f68d00 Match virtual keyboard lifecycle 2026-07-15 14:23:00 -07:00
Jonas Volman 935bbd79f1 Match message encryption wrappers 2026-07-15 14:13:14 -07:00
Jonas Volman 50c2ff4d4f Match objects_dump_memory stack layout 2026-07-15 14:12:01 -07:00
Jonas Volman 159ffbb5d8 Match object change color computation 2026-07-15 14:09:21 -07:00
Jonas Volman afb8e9f0cb Match game time update 2026-07-15 13:38:42 -07:00
Jonas Volman cae129464d Match virtual keyboard key character helpers 2026-07-15 13:38:41 -07:00
Jonas Volman 5410e1b2ca Reconstruct player profile RGB color lookup 2026-07-15 13:17:06 -07:00
Jonas Volman 41fd28f1fb Match virtual keyboard close helper 2026-07-15 13:07:12 -07:00
Jonas Volman f79729b869 Name structure decal globals 2026-07-15 12:59:45 -07:00
Jonas Volman 422abd30cb Match structure decal lifecycle setup 2026-07-15 12:59:41 -07:00
Jonas Volman 57362adf12 Match bored camera local random range 2026-07-15 12:55:37 -07:00
Jonas Volman 4b997e9a20 Match virtual keyboard navigation helpers 2026-07-15 12:55:04 -07:00
Jonas Volman 2c6086d5af Match scenario lifecycle leaves 2026-07-15 12:54:41 -07:00
Jonas Volman f4dbbffd05 Match cache file state leaves 2026-07-15 12:50:47 -07:00
Jonas Volman 1c02c58024 Match memory unit test wrapper 2026-07-15 12:47:50 -07:00
Jonas Volman e894ce0047 Match player profile directory path wrapper 2026-07-15 12:44:41 -07:00
Jonas Volman ebc782e1dc Match player profile color leaves 2026-07-15 12:43:22 -07:00
Jonas Volman 486c665118 Match virtual keyboard delete helper 2026-07-15 12:41:05 -07:00
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