frame allocs (25.2): a fact record past the 64 made at the start is @alloc_ok, in its own function, in npc, character, physics, vehicles and wildlife
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
parent
c8c230449e
commit
082fd26bf1
10 changed files with 40 additions and 15 deletions
|
|
@ -12,3 +12,10 @@ function chr_ffree_new() -> []CharacterFact {
|
|||
List.clear(l)
|
||||
return l
|
||||
}
|
||||
# past them: a record for the new peak, kept in the pool for good
|
||||
@alloc_ok("a new peak of facts held at once, past the 64 made at the start; kept and reused")
|
||||
function chr_fact_more(character_st: mut CharacterState) -> CharacterFact {
|
||||
let f = new CharacterFact
|
||||
push(character_st.chr_fpool, f)
|
||||
return f
|
||||
}
|
||||
|
|
|
|||
|
|
@ -25,9 +25,7 @@ function chr_fact_record(character_st: mut CharacterState) -> CharacterFact {
|
|||
character_st.chr_fnext += 1
|
||||
return f
|
||||
}
|
||||
let f = new CharacterFact
|
||||
push(character_st.chr_fpool, f)
|
||||
return f
|
||||
return chr_fact_more(character_st)
|
||||
}
|
||||
function chr_say(character_st: mut CharacterState, what: int, v: float) -> void {
|
||||
let f = chr_fact_record(character_st)
|
||||
|
|
|
|||
|
|
@ -24,3 +24,10 @@ function np_queue_sized(q: Queue<NpcFact>) -> Queue<NpcFact> {
|
|||
List.clear(q.spare)
|
||||
return q
|
||||
}
|
||||
# past them: a record for the new peak, kept in the pool for good
|
||||
@alloc_ok("a new peak of facts held at once, past the 64 made at the start; kept and reused")
|
||||
function np_fact_more(npc_st: mut NpcState) -> NpcFact {
|
||||
let f = new NpcFact
|
||||
push(npc_st.np_fpool, f)
|
||||
return f
|
||||
}
|
||||
|
|
|
|||
|
|
@ -94,9 +94,7 @@ function np_fact_record(npc_st: mut NpcState) -> NpcFact {
|
|||
f.z = 0.0
|
||||
return f
|
||||
}
|
||||
let f = new NpcFact
|
||||
push(npc_st.np_fpool, f)
|
||||
return f
|
||||
return np_fact_more(npc_st)
|
||||
}
|
||||
# how many fact records have ever been made: the peak held at once, not the facts pushed
|
||||
export function npc_fact_records(npc_st: NpcState) -> int { return len(npc_st.np_fpool) }
|
||||
|
|
|
|||
|
|
@ -12,3 +12,10 @@ function ph_ffree_new() -> []PhysFact {
|
|||
List.clear(l)
|
||||
return l
|
||||
}
|
||||
# past them: a record for the new peak, kept in the pool for good
|
||||
@alloc_ok("a new peak of facts held at once, past the 64 made at the start; kept and reused")
|
||||
function ph_fact_more(physics_st: mut PhysicsState) -> PhysFact {
|
||||
let f = new PhysFact
|
||||
push(physics_st.ph_fpool, f)
|
||||
return f
|
||||
}
|
||||
|
|
|
|||
|
|
@ -45,9 +45,7 @@ function ph_fact_record(physics_st: mut PhysicsState) -> PhysFact {
|
|||
physics_st.ph_fnext += 1
|
||||
return f
|
||||
}
|
||||
let f = new PhysFact
|
||||
push(physics_st.ph_fpool, f)
|
||||
return f
|
||||
return ph_fact_more(physics_st)
|
||||
}
|
||||
function ph_contacts(physics_st: mut PhysicsState) -> void {
|
||||
let n = jph_contacts_drain(physics_st.ph_world, physics_st.ph_ids, physics_st.ph_vals, PH_CAP)
|
||||
|
|
|
|||
|
|
@ -12,3 +12,10 @@ function ve_ffree_new() -> []VehicleFact {
|
|||
List.clear(l)
|
||||
return l
|
||||
}
|
||||
# past them: a record for the new peak, kept in the pool for good
|
||||
@alloc_ok("a new peak of facts held at once, past the 64 made at the start; kept and reused")
|
||||
function ve_fact_more(vehicles_st: mut VehiclesState) -> VehicleFact {
|
||||
let f = new VehicleFact
|
||||
push(vehicles_st.ve_fpool, f)
|
||||
return f
|
||||
}
|
||||
|
|
|
|||
|
|
@ -18,9 +18,7 @@ function ve_fact_record(vehicles_st: mut VehiclesState) -> VehicleFact {
|
|||
vehicles_st.ve_fnext += 1
|
||||
return f
|
||||
}
|
||||
let f = new VehicleFact
|
||||
push(vehicles_st.ve_fpool, f)
|
||||
return f
|
||||
return ve_fact_more(vehicles_st)
|
||||
}
|
||||
# how many fact records have ever been made: the peak held at once, not the facts pushed
|
||||
export function vehicle_fact_records(vehicles_st: VehiclesState) -> int { return len(vehicles_st.ve_fpool) }
|
||||
|
|
|
|||
|
|
@ -12,3 +12,10 @@ function wl_ffree_new() -> []WildFact {
|
|||
List.clear(l)
|
||||
return l
|
||||
}
|
||||
# past them: a record for the new peak, kept in the pool for good
|
||||
@alloc_ok("a new peak of facts held at once, past the 64 made at the start; kept and reused")
|
||||
function wl_fact_more(wildlife_st: mut WildlifeState) -> WildFact {
|
||||
let f = new WildFact
|
||||
push(wildlife_st.wl_fpool, f)
|
||||
return f
|
||||
}
|
||||
|
|
|
|||
|
|
@ -48,9 +48,7 @@ function wl_fact_record(wildlife_st: mut WildlifeState) -> WildFact {
|
|||
f.diet = 0
|
||||
return f
|
||||
}
|
||||
let f = new WildFact
|
||||
push(wildlife_st.wl_fpool, f)
|
||||
return f
|
||||
return wl_fact_more(wildlife_st)
|
||||
}
|
||||
# how many fact records have ever been made: the peak held at once, not the facts pushed
|
||||
export function wildlife_fact_records(wildlife_st: WildlifeState) -> int { return len(wildlife_st.wl_fpool) }
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue