branchrust_reboot/main/itemmanager_immediateremovecancel
14 Commits over 0 Days - Infinitycph!
infoRust development commits are now under /Rust/
Bugfix: fix potential cases of use-after-free related to ItemModConsumable.DoAction
Tests: consumed berries, water, flask (discovered new source of issues >.>)
Update: test list export
Tests: none, trivial change
Update: standardize ItemContainer.onItemRemovedFromStack calls
- added auto test for storage monitor
Removes a blocker for immediate item removal logic (and saves us headaches in the future)
Tests: auto tests
Bugfix: batch of potential use-after-free fixes for Item.LoseCondition
Just one dangerous method left (plz no more)
Tests: industrial + turret automated tests
Bugfix: another batch of fixes from Item.Remove audit
- removed 1 alloc DropUtil
Tests: ItemContainer unit tests
Bugfix: another batch of fixes after review of Item.UseItem usages
Tests: none, trivial changes
Bugfix: variety of use-after-free fixes related to Item.UseItem
Tests: threw boomerangs
Update: Item.UseItem now returns if the entire item was consumed
- bugfix IndustrialConveyor's use-after-free of item in QuickMove path
Tests: ran conveyor tests, no longer failing
Bugfix: fix WaterPurifier incorrectly increasing stack of garbage in output just before removing it
Tests: none, trivial change
Bugfix: ResearchTable.ResearchAttemptFinished - preserve ItemDef from the removed item to avoid NREs
Tests: none, trivial change
Optim: use IndexOf to avoid double scan in ItemContainer.Remove
Tests: ran unit tests
Bugfix: reimplement ItemContainer.Clear loop to invalidate items at the end of iteration
- removed couple cases of dead code
Tests: unit tests + server automated tests, down to 1 failing
Bugfix: ItemModCookable - cache relevant information before destroying item
Tests: cookign tests pass
Update: add ItemManager.RemoveImmediate to validate removing DoRemove
Temp set to true, will revert back to default false before merging
Tests: ran automated tests - a bunch of failures