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

@ -0,0 +1,14 @@
# ludic.physics/fact_pool.ludic - the facts' records made at the start (PHYSFACTS of them) with a free list
# of room for all, so a frame holding a new peak of facts makes nothing until that many are held
const PH_FACTS: int = 64
function ph_fpool_new() -> []PhysFact {
let l = new []PhysFact
for i in 0 .. PH_FACTS { push(l, new PhysFact) }
return l
}
function ph_ffree_new() -> []PhysFact {
let l = ph_fpool_new()
List.clear(l)
return l
}