29 Commits
Author SHA1 Message Date
MrBruh 5aafe7af9e Mark the second batch's changes to the game's sources as the port's
Several of the fixes taken from the forks changed source/ without the
port: comment that marks a change from the original (the second copy's
datagram ports, the downloaded maps' refusals, the main menu's clock,
the one-magazine HUD states, the render lists' sizes and others), and a
comment still named a function of that fork's. Each change now says so.
2026-10-19 23:06:19 +13:00
Milenko 87643c392d Scripts: downloaded maps' allow-list
A map that map sharing downloaded runs only scripts that keep to the
player's own game: one that calls what changes the player's settings or
other players' games (player0_look_invert_pitch, sv_end_game, sv_say) or
sets a global that outlives the map is disabled, as for any map's script
that calls what no map's may, and debug.txt says which. Map sharing names
each map it downloads in custom_maps/downloaded_maps.txt, so they stay
held to this in later runs; game.downloaded_maps names more, or "*" for
every map. The campaign's game_speed and game_save_totally_unsafe stay
allowed.

The setting's entry came into port_config.c with the profile commit before
this one (a conflict's side of it); it is the one entry now.

(cherry picked from commits 7d02d46210ba672512e36b39ffd2c0b0d8e4f3b3 and
d3718e78d4889140a44f8050075b56143e4b7732, wired to OpenCE's map sharing in place of that
fork's map families)
2026-10-19 22:53:18 +13:00
xshxdex98 9d309f8d75 Refuse a Custom Edition map of another version than the host's
A client joining a game on a Custom Edition map checked only that it had a
file of that name. With another version of the map (an older release, a
re-edit), its tags are not the host's: the objects, weapons and vehicles the
host sends are other things there, and the game desyncs or crashes.

The host now sends its map file's header checksum as the game record's map
version, which the Xbox game always left 0, and a client whose copy has
another checksum leaves with an error saying so and where to copy the
host's. The record's layout is unchanged: a host that sends 0 (an older
one, or the game's own maps, whose builds of other regions play together)
is not checked, and older clients ignore the field.
2026-10-07 13:13:29 -05:00
MrBruh 4e8ed2f196 Tell a joining player which map they are missing
A client joining a game on a map it does not have (a Custom Edition map
not in custom_maps, or one of the game's own not in maps) now leaves with
an error naming the map and where to copy it, instead of the damaged disc
error. It also says when the map cannot run there or the host names a
Custom Edition map as other versions do. The port's error texts wrap to
their dialog, in the smaller font when they would not fit.

Network version 22: hosts now name Custom Edition maps custom_maps\<name>,
which older clients cannot load or explain; they are told to update.
2026-10-07 23:56:33 +13:00
MrBruh f823a18d59 Load, check and run Halo Custom Edition and OpenSauce maps 2026-10-07 19:02:01 +13:00
MrBruh 761210d405 Harden map and network input 2026-10-06 13:26:43 +13:00
MrBruh 0d548798e5 Fix second netcode review 2026-10-01 03:54:02 +13:00
MrBruh 4adc3a87a5 Remove matching tooling and HALO_LINUX ifdefs 2026-09-30 21:49:46 +13:00
MrBruh b47f237dc1 Convert any listed PAL build 2026-09-30 21:07:47 +13:00
MrBruh a05253c181 Lock multiplayer to known map builds 2026-09-30 21:02:34 +13:00
Jonas Volman f3aadeab98 Reconcile five Halo functions and approved declaration batches
Integrate coherent B3, P2/K17 prerequisites, completed K1-K16 + S, and the independent profile/effects rulings. Five gains and two explicitly approved B3 debits: net +3 strict functions, +2770 meaningful/+2800 padded bytes (+2774 progress credit). No additional losses; Halo objects 394 to 396 and data unchanged.

Clean rebuild, identical 8252-row stable sweep, 68 valid parks, admission/provider checks, 467-unit warning comparison, unchanged fake scan, and 1318 tests passed. Preserve canonical helper recoveries and unrelated work. Full evidence and disclosures in docs/object_matching_logs/astra_five_function_reconciliation_20260928.md.
2026-09-28 23:17:10 -07:00
Jonas Volman d574f4ff45 Restore five source-attested network server functions 2026-09-06 11:04:14 -07:00
Jonas Volman 4795da4089 Recover device, input, HUD and game leaves without exact regressions 2026-09-04 15:43:51 -07:00
Jonas Volman 43451b4dd0 Repair network and cache owner interfaces 2026-09-02 23:53:20 -07:00
Jonas Volman e9a1b0c7cb bitmaps: recover bitmap group postprocess 2026-09-02 01:04:39 -07:00
Jonas Volman 92c47d32b9 Reconstruct scenario BSP and fog keystone functions 2026-07-21 13:21:45 -07:00
Jonas Volman 3b491c79cf Match cache file queries and lifecycle helpers 2026-07-17 00:40:11 -07:00
Jonas Volman 3fa4e7baa6 Match cache file mutation stubs and iterator initialization 2026-07-16 23:53:48 -07:00
Jonas Volman 9600d2c405 Match scenario unload lifecycle 2026-07-16 19:34:29 -07:00
Jonas Volman 2c9822bc79 Match scenario triggers, PAS, fog, and BSP reload 2026-07-16 17:02:13 -07:00
Jonas Volman a58b7edb41 Match main BSP and precache helpers 2026-07-16 13:42:05 -07:00
Jonas Volman f4dbbffd05 Match cache file state leaves 2026-07-15 12:50:47 -07:00
Jonas Volman fb806015d4 Match progress bar initialization 2026-07-15 11:15:21 -07:00
Berthalamew bc6663de55 unit additions (#34)
- add unit functions and associated dependencies
2026-07-01 00:15:19 +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 e61214bd44 Some attract_mode.c functions 2026-01-04 17:34:50 +00:00
punpckhdq abf01acf49 marketing_and_strategic_business_development.c
unmatching function order
2026-01-03 14:30:47 +00:00
punpckhdq f2adc1a9e9 Squashed commit of the following:
commit 89560cfc28a2a32499f47ce2c91469f95af19b61
Author: punpckhdq <121350336+punpckhdq@users.noreply.github.com>
Date:   Wed Dec 31 19:00:05 2025 +0000

    wip5

commit d45c3bc25b9265823ee8b0517e07b66164cbeb6a
Author: punpckhdq <121350336+punpckhdq@users.noreply.github.com>
Date:   Wed Dec 31 18:48:51 2025 +0000

    wip4

commit 70e247008a227ba0454e7e45a0f849e3dc0c3fb1
Author: punpckhdq <121350336+punpckhdq@users.noreply.github.com>
Date:   Wed Dec 31 05:40:55 2025 +0000

    wip3

commit f26f7e1117add7e5ef13f7e033185e1bffedeb77
Author: punpckhdq <121350336+punpckhdq@users.noreply.github.com>
Date:   Wed Dec 31 05:40:50 2025 +0000

    Formatting + many includes

commit aea053c98d5553354a56ccd889f70c45f622293a
Author: punpckhdq <121350336+punpckhdq@users.noreply.github.com>
Date:   Wed Dec 31 00:20:03 2025 +0000

    wip2

commit 74728f5e3a6f2a978d0a5d43383ed4c1931a875c
Author: punpckhdq <121350336+punpckhdq@users.noreply.github.com>
Date:   Tue Dec 30 22:48:12 2025 +0000

    game_state WIP
2025-12-31 19:01:24 +00:00
punpckhdq 4bd27e8251 Push all applicable HCEX header stubs 2025-11-27 10:43:31 +00:00