fix(character, physics, vehicles, wildlife): fact records made at the start (64) with a free list of room for all, as ludic.npc's

A frame holding a new peak of facts made a record and grew the free list; now nothing is made until
64 are held at once. The two record-count tests hold the 64.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
Orkun ÇAKILKAYA 2026-09-28 15:57:22 +03:00
parent 7f973f9a4f
commit c8c230449e
14 changed files with 72 additions and 12 deletions

View file

@ -55,8 +55,8 @@ export state PhysicsState {
ph_ids: []int = words(PH_CAP * 2)
ph_vals: []float = floats(PH_CAP * 4)
ph_facts: Queue<PhysFact> = ph_facts__new()
ph_fpool: []PhysFact = new []PhysFact # every fact record made, reused once no drain holds it
ph_ffree: []PhysFact = new []PhysFact
ph_fpool: []PhysFact = ph_fpool_new() # every fact record made, reused once no drain holds it
ph_ffree: []PhysFact = ph_ffree_new()
ph_fnext: int = 0
}