Commit Graph
38 Commits
Author SHA1 Message Date
Jonas Volman 8b7a83037d Remove game engine layout aliasing 2026-08-20 15:39:29 -07:00
Jonas Volman fb5c6a09a0 Correct game engine typed access 2026-08-20 15:16:39 -07:00
Jonas Volman 0049e1633b Match weapon definition list lookup 2026-07-25 22:35:46 -07:00
Jonas Volman 05e30cc953 Reconstruct game engine spawn rating cluster 2026-07-25 22:24:23 -07:00
Jonas Volman 4d7cf5475b Match game type filter 2026-07-25 21:54:13 -07:00
Jonas Volman c801d5ec6e Match game engine nondeterministic update cluster 2026-07-25 21:52:27 -07:00
Jonas Volman 5d7fd76ea6 Match game engine nav point rendering 2026-07-25 21:49:14 -07:00
Jonas Volman 579a81f221 Match game engine nonplayer post rasterize 2026-07-25 21:45:10 -07:00
Jonas Volman d276afc9ee Match game engine pickup dispatch 2026-07-25 21:34:32 -07:00
Jonas Volman 0c2ea667f5 Match game engine weapon fired hook 2026-07-25 21:19:59 -07:00
Jonas Volman a5e4031a7b Match game engine spawn distance rating 2026-07-25 21:13:03 -07:00
Jonas Volman 539517be38 Match game engine map initialization 2026-07-25 21:13:03 -07:00
Jonas Volman 3888a30f09 Match game engine man-out gate 2026-07-25 21:00:08 -07:00
Jonas Volman c8a6ed6dda Match custom motion sensor goals 2026-07-25 20:35:06 -07:00
Jonas Volman fbde70888c Match game engine goal and color getters 2026-07-25 20:28:23 -07:00
Jonas Volman 69e845216e Match named game variant lookup 2026-07-25 20:11:37 -07:00
Jonas Volman 87209fe0e7 Match game engine post-rasterize dispatch 2026-07-25 19:53:25 -07:00
Jonas Volman 23429c1137 Match Unicode game time formatting 2026-07-25 19:51:43 -07:00
Jonas Volman b964a94d6f Match game engine stealth weapon predicate 2026-07-25 19:11:48 -07:00
Jonas Volman 92e215e5c6 Match game engine playlist selection 2026-07-25 19:09:38 -07:00
Jonas Volman 9bd6db1d48 Match game engine math and flag leaves 2026-07-25 19:01:32 -07:00
Jonas Volman e7fc71bb9b Match game_engine_initialize
Byte-exact (96 bytes / 8 relocations): zeroes game_engine_globals, clears
postgame_state, and when given a variant with an engine type copies it into
global_variant, runs game_engine_variant_cleanup, and points game_engine at
the matching handler table in game_engines[]. Adds the game_engines[] extern
and a forward prototype for game_engine_variant_cleanup (signature inferred
from this call site: takes struct game_variant *). game_engine exact 57 -> 58.
2026-07-25 18:44:31 -07:00
Jonas Volman d9f394bdd8 Match game_engine_display_team_indicators
Byte-exact (48 bytes / 3 relocations): returns whether team indicators
should display -- game_engine present, a game_variant flag set, and teams
enabled. Follows the game_engine_has_teams donor shape (if (game_engine)
result = <expr>;) rather than a flat && chain, which reproduces the
January register schedule (has_teams read into the AL result register).

The tested flag is bit 1 of game_variant.flags, which had no name in the
enum; added as _game_variant_unknown1_bit = 1 (honest placeholder, matching
the codebase unused/unknown convention). game_engine exact 56 -> 57.
2026-07-25 18:44:31 -07:00
Jonas Volman 120941d994 Match game_engine message and statistics dispatchers
game_engine_statistics_append, game_engine_handle_client_message and
game_engine_handle_server_message: vtable tail-call dispatchers at handler
offsets 0x20/0x24/0x28, byte-exact (32 bytes / 1 relocation each). Total
game_engine exact 53 -> 56.

Each passes a single argument through to the handler, which is what forces
the /Oy- frame pointer that the no-argument dispatchers (e.g. game_ending)
omit. The argument type/count is byte-identical for any single 4-byte value
and is not constrained by any in-tree caller yet; typed as a best-effort
inference (long statistic / void *message).
2026-07-25 18:44:31 -07:00
Jonas Volman 31e4945495 Match game engine team score and player count 2026-07-16 15:12:07 -07:00
Jonas Volman d12cd0f310 Match game engine visibility and score helpers 2026-07-16 14:47:32 -07:00
Jonas Volman 0b7e8bfad0 Match game engine playlist and weapon helpers 2026-07-16 14:35:13 -07:00
Jonas Volman 67defb2112 Match game engine lifecycle and HUD helpers 2026-07-16 14:24:53 -07:00
Jonas Volman b1c28a3bcd Match game engine goal and override helpers 2026-07-16 14:09:56 -07:00
Jonas Volman 2911ee5a9a Match game engine rule and state helpers 2026-07-16 14:02:47 -07:00
Jonas Volman 9db8495c16 Match additional game engine interface wrappers 2026-07-16 13:53:52 -07:00
Jonas Volman 78e21f528b Match game engine lifecycle wrappers 2026-07-16 13:26:27 -07:00
Jonas Volman 844bf1416a Match game engine accessors 2026-07-16 13:21:14 -07:00
Jonas Volman 34d9bc5c93 Reconstruct game kill statistics 2026-07-15 19:21:49 -07:00
Jonas Volman b3e24dbf41 Match game engine playlist initialization 2026-07-15 10:33:17 -07:00
Berthalamew 52a0dc4c28 add tag definitions and misc function prototypes (#19)
* misc changes

- add function prototypes and change types
- add profile_initialize

* add tag definitions and prototypes

- real math changes
2026-05-05 18:56:06 +01:00
Berthalamewandpunpckhdq eb93ce635e wip objects.c work (#12)
* wip objects.c work

* objects_disconnect_from_structure_bsp

* match more functions

* more objects work

* objects_update work

- 93.42% matching

* match matrix4x3_transform_point

* more objects work

- fix duplicate symbol name at 1870800

* match object_choose_random_change_colors

* match object_update

* objects_garbage_collection work

* match object_set_position

* more object work

* match objects_update

* more object work

* match object_select_random_region_permutations_by_variant

* objects_in_sphere work

99.90% match

* object name list calls

* match objects_in_sphere

* misc matches

* match structure_bsp_definitions object

* match objects_in_clusters_by_indices

* more object work

* match `edit_text_handle_key`

* mark edit_text as matching

* misc changes

- match get_next_character
- match data section in objects.c

* object_export_function_values work

* match object_compute_function_values

* match object_get_orientation

* added functions and adjust formatting

* fix profile macros

* formatting changes

* more formatting

* more formatting

---------

Co-authored-by: punpckhdq <121350336+punpckhdq@users.noreply.github.com>
2026-02-15 01:05:45 +00:00
punpckhdq 4bd27e8251 Push all applicable HCEX header stubs 2025-11-27 10:43:31 +00:00