260,448 Commits over 4,049 Days - 2.68cph!
▆▉▆█▄▋ ▇▇▌▋▅█▊▋▊▍▇█▆▌█▋▍▆▋▉
Try to avoid Lua errors with DButton
merge from softcore_update/containers_auth
merge from fix_copy_paste_steam_networking -> main
▊▄▌▇ ▋▇▄▌ ▅▌█▉▅▅▅ ▌▆▇ ▅▌▋▉▅▉▆▇ ▄▅▇▌▅ ▆▅▇▉▉▊█▍
Fix copy paste not working on steam networking
- switch copy paste to use channel 2 (same as admin UGC content) rather than adding another lane to steam networking
▄▅▋ ▋█▋▋▇▌▋▆▆▅▊▄▍▍ ▉▄▋▇▋▊█▍█ ▉▇██▄█ ▍▇ ██▅█▇ ▌▅▄ ▆▄▍▍▇▋▄
▉▌▄▉▍▌: ▆▌▋▇▉ ██▄▇▇ ▉▍▄ ▇▆▉█▅▌▋ ▊▊▆▊▊▅▉ ▆▅▇▇ ▋▆▇▇▋▊▌█ ▄▄▊▍▉
▋▇▆▇'▄ ▍█, ▍▊▅ ▅▊▊ ▄▋▇▍▅▍ ▍▍▋ ▊▊▍█, ▌▉▊ ▋ ▋▍▋▊ ▌▇ ▍▅▆▅▍ █▄▄▅▋▅▉▅▄ ▅▌▋▍ ▉▄▊▉█ ▉▅▌▆▍/█▆▌▍
▆▇█▋▍: ▋▄█▊▊▉ ▅▇▆▇ ▉▉▌▆▋▄▋ ▋▇▋▊
▍▉▇▇█▍▌▇▉ ▄▋▊▋▉▊ ▊▅▆▍ ▍▅▆▆▋▋▅▋ ▄▍▌▇▌▅▆▋
merge from softcore_update/containers_auth
Simpler containers auth checks
█▋▆ ▊▅▇▉▌▆▍▉▇▊▄▉▌▌█ ▌▋▋▉▋▋█▆ ▆▆▅▇▆▄ ▍▅▋▆▄ ▄▉▄▇ ▊▇█▇▉▊ ▊▉▄▇ ▉▇ ▉▆▌ ▍▉▆▍▅ ▆▋ <= ▌
Fix FlexAspectRatio ignoring aspect ratio when second part of the ratio is <= 1
Fixes stretched palette on neon sign paint UI
▌▌▅▄▋▋▅ ▇▌▌▇▄▊██▍ ▉▉▌▊▇▌▆▊▅▆ ▊▇▆▍▅▇▋▅▊
▄▉▍▄▇▄
▌▊▄ ▋▍▊▉▆▊ ▍▅▅▍▊▄▉█ ▌▉▅▌▄▌▋▄▆ ▉▋▇▇▉▉ █▊█▅▅▍▆▊▄▄▊▄
▍▅▋█▊▉ ▅▅▉ ▆▅ ▋▌ ▇▋▊▅▌▌ ▆▇▊▊▇▅▍▇ ▉▊▌▄▋▇▌▋▌ ▉▄▅ ▌▆█▄▆█ ▋▇▋▆▉ █▆▆█▊▇██▇▋▅, ▉▉▊▅█ ▇▍ ▊▌▅▄▋.
▄▍▍▉█▍█▊ ▊▇▄█▌█▍▆█/█▄▋▇▋▋▍ █▄▍ ▇▇▅ ▇█▇█▆█▊ ▋▄ ▉▌▄▉/▆█▆▇
▍█▋▅█▄▇ ▇▆▆▍▅█▍▅ ▇█▍▉▄ ▇▆█▉▊
▇▉█▌▇▌ ▋▌▋█▊▆▍▍ ▋▇▅ ▍▋▆▅ ▉▅▇▄▊▋ (▋▄▅▋▄▇▄▇)
▆▍▄▇ █▅▌▌, █▋'▅ ▊▉▌▇ ▄▇▋▋█▍▄▋▊ ▌▇▄█
▋▊▇▅▍▆ ▇▇▇ ▇█▌
▌▇▊ █▌▄▋▄ ▋▌▉▆ ▋▋▅▌▅▋▊▆
▅▄▇▍ ▆▆▇▄▍▋▇▊▊█ ▆▉▌▄
▉▇▆▅▌▍▄ ▄▇▆▄█▅▉▋▅▋▌▄ ▋▅▊▋▊▅
▆▇▊▍▉▇: ▍▌▆ ▍▊▅▅▌▍▌█ █▊▊ ▊▉█▍▊▄, ▇▆▌▍ ▆▍▋▍▍ ▌█▉▅▉▅█▌ ▉▅ ▉▍▉▋▍ ▇▌▉ ▍▊▊▍▋▆█
▄▊▍▆ ▋▊▇▆▌▄ ▇▌▆▅ ▉▆▋▌▌▅▅ ▌█ ▍▉ ▇█▋, ▇▆▍ ▋▇▊██ ▉▉ ▌█▅▋▊▊ ▉▉ ▊▇██▍▄▍ ▅▇ ▆▅▍▋▇ ▅▊▌▊ ▅▊▉▊▊
▄▊▆▄▇: ▄▇▆▌▇▄ ▋▅▇▍ ▇▌▌▅▇▆▇ ▉▌█▆
▋▄▍▋▄ ██ ▇▄▉▍▇▉▇ ▆▅▄▌▊▇▉, ▇▆▉'▉ ██▊▊ ▅▌▋▇ ▍▊'▌▉ ▍▍▍ ▇▅▆█▉ ▊▊█
merge from high_walls_skins
Set GibSimulator as IEditorComponent, fixed missing GibSimulator warning logs
Fixed TC still spawning their corpses when destroyed by their owners
▅▊█▊▌ ▅▆▌█ ▋▆█▄▋▋▄▍_▋▉▇▌▅█/▌▄▆▅▉▆▅▄█▇_▌▌▉██▅/▄▉▋▇▌▍▆▍█▅▅_▊▅▅▋█▄▅
▉▇▋█▇ ▆▋ ▇▇▇▉▊▇▅ ▄█▉▅█ ▍▋▌▆█▍▉▇ ▍▍▇▊ ▅▍▌▉▉ ▊▌▍▉▋█ ▌▋█ ▇▉▇▄ ▄▉▋█▉▆▋▄▆ █▌ ▍▌▇▄▋ ▇▋▉▊█ (▌▋▅ ▍▅▆ ▄▉▄▊▍▍▌ ▍▋▍▋ ▇▉▋█▇▇▅▉▍▅▋▄▄▊▄▋▉▆▌▉█▇▄▊▉▆ ▌▌▄▄█)
▄▄▄▆▍▇: ▇▌▆▄▋ ▌▊▊▇▌▅▉ █▉▉▊▄▅▌▍ █▆▊▉ ▇▌▉▋▅ ▉▋▅▋▍▄▆ ▆▊▌█▆▇▍▌█▆▋ ▇▄█ ▍▍▇▍▍
▄▅▋▋▌: ▇▍▉ ▌▄▍▋█▉▇ ▇█▆█
▉▋▇▄█ ▉▌▇▅▊▄ ▄▄▅▊▅ ▊▌█▆█▇▍ ▋▋ ▆▊▊█▋▍▊▅▋▌█▍█▊▇ ▆▍▊▉▇▉▌▇▌ ▋▇▌▍ ▅▌▅ ▌▉▆
▄█▊▌▄▊█ ▌▍▆▆▆▇▊ ▍▉▆ ▆█▌▇▅▋ █▊▊▋▄▅▍
█▅▍▊▉ ▋▍▇▌▍▉▉ ▊▅▆▍▌▊▇█▅ ▌▉▄▉ ▍▌█▌▄▅▄▆ ▋ ▅▇▇▄▆▆▋▇▉
█▉▉ ▅▊▄▄▇▊▅▄▍▆ ▄▌▊▄ █▇▊▍▇▆▇▇ ▋▅▅▇██
▉█▊ █▆▊▋▍▅▅▌▇▄ ▆▄▉▇█ ▆▌▄▄▇▄▄▇▅ ▋▍▌▌▍▅ ▋▉█▉▊▉▄▆
█▆█ ▄▄▅▅ ▇▅▌▋▄ ▉██▅▊ ▇▍█▍▍▆▆▌▆▇▋
▍▆▌▍▆ ▅▊▌█▌ ▇▅▉▉ ▅▄▉▋▆▆▋▅▄▄ ▆▄▇▉▄▊
▄▇▄▊ -> ▄▆▌▄▋▉█▉
Clean: consolidate some work buffers
Tests: ran staging demo
▌▊█ ▉▇▇ ▋▌ ▆▄▌▊▅▉▋▌▋▉▆█▉▊▋▇▅▋▉▇█▄, ▇▋▆▉ ▇▅▅▊██▌▍▊▋▊█▉▆▅▌▉▊▌ ▊█▆▍ ▅█▉ ▌█▇▅▋▄▇▊ ▅▉▊ ▄▅▌▊ ▉▍▍▊▊▆▇▅▊▉▊▌▉▅▅
▆▄▆▌▊█▊ █▄▉▅▍▅▊▅ █▉▄▄▍▆▍█▋▆ █▆▊▊ ▄▆▋█▄ ▇▊▌▆▆▅▌
▇▇▋ ▇▌▉▇▇▅▊▅▌▉▍ (▄▅▇ ▍▆▅▇) █▉▍▄▅▋▋▆▆▍▉▌▉▄ ▅▇▍ ▆▌▅▋▄
▊▅▉ ▅▆▅ ▋█▆▅ █▆▍▌▋▇▋▋▉ ▄▌▋▊ ▍▍▍▍▌▇▊ / ▇▍▊▇▍ ▌█▍█▊▉▌▋▇▇
▇▄▆ ▉▊▉▄▉▊▆▌ ▉▊▆▆▅▌ ▄▉ ▌█▉▊▌▍▌▋▇▍▉▄ ▍▆ ▉▊▍▊▆▊▅
▇█▄ ▄▄▇▌▋▆█▊▋▅ ▉▍▋██▊▌▋▋▉▄▆▍
▆▄▊▇▉▉██ █▄▉▉▌▊▄▄▄ ▉▍▆▌▋
▊▌▉ ▆▊▌▇ ▉▍▄▌▅▄▋▅▌ ▍▄▇ ▋▄▌▆▌▉▄▋▋▊ ▄▄▍▅▉█▋▌▇▍▉
▄▍▅█▋▊ ▉▆▍▆ & ▊▌▍▄ ▊▋▉▊▊▊▄▊▌▌
▍ ▌▄▉'▇ ▇▄▉▅ ▋▋ ▄▋▋▅ ▍█▉▌█ █▆▄ ▄▌▊▅▅▋▇▉▇ ▄▆▉▌ ▊▍▌▉ ▅▄▊▅▇ ▉▄▌ ▉▊▅█▌██▊ ▌▍▋▋▅ (▍▌▌▆▇▄▉▆▆ ▆▉ ▋▆▆▇▉▌▋ ▆▊▇ ▉▄▅▄▉▊▋▌▄▊).
▆▅▇ ▆▅▋▍ ▄▉ █▊▇█▊▋▊ ▅▄▅▍▆ █▄▌▇ ▌▋▅▋█ ▋▇▆ ▊▆▉▌▍▆▌▌ ▊▋▅▋ ▆▊▉ ▆▍█▊ ▋▄▇▌▄▉▍▇ ▄▌▆ ▄▋▆▅▋█▆▋▅.
▌▆▅ ▊▊▍▅▄ ▆▅▍▌▄▄ ▉▅ ▆▇▉▇▄ ▌▋ ▄█ ▊██▅▌▅ ▄▅▆▋ █▍.
▋▅▅ ▇▌▄▌▍ ▇▄▊ ▊▍█
▄▊█▅ ▍▉▄▆▄█ .▋▍▇ ▄▌▋▋▇▅▅ ▉▆▇ ▄▅ ▌▌▅▄.▉▌▋▅▇▅▇▋▄▋
▌▍▉▅▋▊/▍▊▌▄▊▆▆/▉▋▌▋▆▇/▍▅▋▍▅█
▉▍▋▍▍/█▍▋▉ ▆▆▄▅▊▇▆ ▅
▍▄█▆ ▉▆▇█▇▄▇▅▊▅▍▇ ▊▅▊▅▊ ▍▉▊▉▋ ▆▉▌ ▊▊▄▋ ▄▋▌▋▆ ▄▋▇█▉ -> █▊▊▍▄▆▊ ▉▉▋ ▄█▄
▉▋▊▋▍▌▊ ▋█▇▇ ▉█▅▊▇ ▅▍▌▆
█▅▄▍▌▆▆▆ ▅▄▆▋ ▊▋▇▄▉▆▋
▉▌▌▍▆▆/▇▊▅▄▅▇▌ ▆▆▉▇▋▋▍▋▊ █▊ ▇▄▊▍
▋▋▊▌▍▅▆ ▇▉▆▋▋█▉ ▄▅▄▊██▇▅; ▍▇▌▆▄ ▍█▆▉▆ ▉█▌▇█▆█▊▍▌ & ▄▅▍▍█▅▉▆▊▋▊
▅▉▊▌▇▄▊ ▅▇▍▇▊▉▅▄ ▋▊ ▋▋▆▋▉█ ▅▌▇▌▋▌▇
▅▊▌▊█▌ ▆▉▅▆▋▉▉▍ ▊██▌██▌▉▌ █▌▊
▅▉▄▍▅▍ ▆▍▋ ▋▌▌▋▅█▄ ▊█ █▆▍▉ █▇▌▄▇ (██▊ ▋▇▌▋)
▋▋▉▅▅▌▇▉ ▅▌▊▉▄▆▍▌▌▇▍▉▊ ▉▄▊▄▄▉▌▉▅▍
█▄▍ █▋▉█▇▊▍▇▇▊▊ ▇▍▄█▊ ▋▇▇▆▅▅▊▌▄, ▄▆▉▄ ▄▌▆█▅▋▆▆▇ ▄▇▊▆▆█ ▄▋▅▉▇▌▇ ▊▄▌▌ ▇▄▊▇ ▇▇█▇ ▇▋█▌▌▆▆▇▇ ▇▄ ▉▌▌▆▌ ▇▍ ▋ ▅▅▊▆▅▊▇█▅ ▊▍▊▍▆▍▍▊▉.
▍▇▆▄▉ ▄▆▄▆▍ █▌▋ ▄█▊▆▅▊█ ▇▅█
▌▅▊ ▇▋▄▇▌▍▉ ▇▇▊▉▅▊▊▍▅ ▇▇▄▇▍▍▆▇▄▌ ▆▆▆▋/▌▇▌▌▊ ▉▍▍▅▉▆█▊▌ ▅▄█▄▉
▅▌▅▌ ▌▋ ██▋▆ ▄▊▇ ▅▊▋▅▆▌▍, █▆▇▆█▄█▆ ▇▆▍▇▅ ▋▄ ▍▋▉▄▄ ▆▄▆▊▄▌▍▇▄
▄▍▌▉ ▅▄▍█ ▌▇▋▆▅ ▅█▇▊▉▊▄
▊▄▉▅▌ ▋▇▍▊ ▅▊▅▅ ▅▇▆▅▋▄ ▊▄█▌ ▆▇▋▄▍▋▇▇▆ (▆▆▇▄) ▇▊▋ ▇▋▍▋▋▊▊ ▄▄▋ ▅▆▍▉▄ ▍▆▆▇▌▄▋▇▆▇▋
▇▌▍ ▌▆▌█▍▊▍▅▊▅ ▉▋▊▍▅ ▉▄█▋▆▆▅
▌▄▌▋ ▊▇▋█▍▇▋ ▅▅ ▉▆▋▍ ▌▄▌▉▅▌▅▇▋
▆▊▆▇▉▊▊ ▊█▌▊ ▆▄▉▇▆▅▆
▍▉▌▊▆▆ █▌▅▇▉▊▆▊▇ -> ▌▅▄▅▊▋▅▉█
▄█▅▋ ▌██▇ ▍▉▅▌▍▉ █▍▌▋█▆▅▋ ▊▍▌▅█ ▇▄ ▉▉▌▍▇▊▌▅, ▋▄ ▊▍▆▋ ▊▉▉ ▍▉▉▅ ▋▄ ▋▆▇▆▋▅▌▋▄ ▄▆ █▄
▆▌▊ ▍▉▌ ▄▊ ▋▇▍▄ ▄▇▇▅▍▌ ▌▋▉▅▋▍▇▄ ▍▌▆▊, ▌▍▇▉▆ ▊▇ ▊▍▇▋▇▍▍ █▆▋▌▉
▊▄▆█ ▊▉▅▅▊▉▉ ▍▅█▄▉▍▋▉▅▊▌▇▌▉▄
▅▅▌█ ▅▇▅▇▊ ▊▉ ▉▊▍▅▉▊ ▄█ ▇▉▌▍/▇▉█▆
▊▍▋ ▋█▌▊ █▍▆ ▅█▅▋▌▋█▄ █▅▉▍▄▅▆▇▅ █▆▅█ ▍▊▅ █▇▌▌▄▊▍▉▅
▇█▊▆▉▊▅ ▉▇▄▇ ▊▋ ▍▊▉▅▊▅ ▅▋▋▆▋▄▇█ ▍▉▍▋▅▄▌▋▊
▉▄▊▋▅://▊▅▍▇▉.▋█▅▆▌▄▌█▇.▉▆▍/▆▆▆▅▍▇▆/▆▉▍▅/▄▍▄▄▇/▍▅_▊▇-█▉-▊▍▋▇▅▋▆▊█▆▇▊▌▇▉▄▋▌▊.▄▍▌
▇▅▇ ▋▍█▉▆▌▍ ▉▋ ▊▆█▊▆ ▉▍▍█ ▍▊▆▆▊▋▌█ ▌▊▇▉▋▊▉ ▍▇ ▋▋▄▆▇█
▅▄▋▆▉▄ ▉▄▄ ▄▇ ▇▉▄▉▇ ▊▊▋▄▆▅▅ ▌▊ ▌▊▍▌▅▌▆
▊▆▅▆▍://▉▇▇▆▊.▆▉█▇▄▌▋█▄.██▆/▅▍▍▍▊▊▇/▊▆▌▅/▄▊▇▍▇/▇▅_▇▇-▌▊-▍▉▇▆▌▌▅▇▅█▋█▄▅▆▄▌.▊▍▉
▇▇█▇▊▋▌█ ▄▍▄ ▄▇█▄▇▉▇ ▌▉▉ ▌▋▋▆▆▆▌▄ ▇▇▋█▆▇ ▉▅▍▊
▅▍▊▇ ▅▇▋'▄ ▊▅▌ ██ ▋▇▄▉ ▉▋▄▇▉▄ █▋▉▇▊▄▅█ ▆▉▋ ▊▊▌▉▊ ▇▉▆▊▋▅ ▌▍▍▄▆▌▍ █▍▆▊.
▌▆▉ ▊▍▄▍█▊▊▍▊ ▄▋▅▍▍▇ █▅▌▇ ▆▍ ▊█▊▌▇█▌▊█▄▋ ▊▍▍▇▉▆ ▅▄▉ ▌▆▌ ▆▄▌▄▄█▅▋ ▉▍▊▍▉▇▄▄▅.
▌▇▆▄▍▉▄ ▍▍▍▌ ▊▆▋▄█▉▇ ▌▉█▋▅▇▇ ▆▋▆ ▄▌▅▆ ▅▍▊▉▍▌▇ █▌▄▅█▆ ▄▇▅▊.
▉▄▍▆▉ ▋▄▅▌ ▊▋ ▋▋▍ ▅▋▊ ▉▇▄ ██▋▄▇.
▋█▊▊▅▆ ▌▊▊█▌▅ ▍▉▅▊█▅▅▊ ▋▄ ▄▄▋▉
█▄▄▆▄▆▍▍ ▌▇██ ▋█▌▅▄█ ▆▉▋▄▅█▄▇ ▉█▊▊▇▉▍▉ ▌▌▉██▉▆▄▋▌▅▍▇ ▋▋ ▉▄▉▋▅▌
█▍▊▆ ▋▊█ ▆▆▍▌▉▅▊ ▍▊▊▄▋ ▇▊▆▆▆▄ ▍▌▊▅▊▋▌▌ ▊▇ ▍▍▅▊▌▋ ▋▉▍▆█▅▅▌▌▇▉▄▌
▅▅▊▇▅▌▌ ▌▅▊▅▄▊█▆▄▊ ██▌▉▌▋▆ ▄▉▋▋ ▌▆▆▆▋▄█▅▆▊▄▌▄ ▍▊▌▋
▅▋▊▌ ▌▆ ▌▄▅▆▇█ █▆▊▅▄ ▍▍ ▇▌ ▆▊▍▄▋▄█ ▊▌▊▆▍▉▌▋, ▄▌▄▍█▅▊▋▅ ▋▌▇▇ ▊▍▍▊ ▉▍▍▄ ▊▋▄▅▇█ ▇▊▄▉▌█▌ ▄▅ ▍▍▌ ▊▊▍▌▇▍▊▄▍▌ ▊▉▇▉▍▋▇ ▄▄▌▄ ▋▆ ▅▅▆▍▍▉▊▌▍.
▋▊▆▆ & ▅▌█▄▉▇▉▉▍█
▅▇ █▅▋▄ ▍▅ ▌▍▇▌ ▊▄▍▋█▇ ▄▊▌▋▇▊▉█ ▊▍▆▋▅▋▅▊▅▊█ █▌▋ ▄▊▌▇▍▇▅█▅ ▋▌▆█▇▊▇▄▌▉▆█▄
▌▄▋ ▉▊▄▍▇▇ ▄█▇▊ ▆▍ ▄▋▆▆▆▋ ▉▍▍ ▆▌▄▋▊▊ ▍▉▆▍▋▋▉▇▊ ▅█▋ █▋▋▅▋▇█▄▄ ▆▄ ▆▆▇ ▄▌▇▌▄▅▋▋ ▄▌▄▊█▅██▊
▅▋▄▄ ▅▅▅▅▊▆▊▉▋▉ ▄▋█▊▊ ▄▋▄▇▄ ▋▋ ▌▅▄▌▆ ▉▉▉▌ ▉▆ ▆▍▋ ▅▋█ ▌▅▅▇▇▄▍▄.
█▌█ ▍▄▇▄▇█ ▆▍▄▋▍▄ ▍▅▊██▆▋▍▌ ▍▊█▌▉ ▇▉▄▅▌▋ ▋▅▊▌ ▅▅▌██▆▋▊▍ ▄▅▅▋▉█▋▋▌
▌▄▄▅█▊ ▌▋▍▇█▄▌█ ▇▉▍▇▅▋ ▆▅▇▊▍█▌▄▍
Merge from jungle_update (fix compile error)
Added a bunch of new data to util.GetModelInfo
Update Label center alignment with an inset
Basically instead of being a minimum value for the X position of the text, the text is centered using the inset as the 0 position, always taking it into account.
This is useful for buttons with icons, so the text always appears centered.
DButton.SizeToContents improvement
Runs InvalidateLayout to ensure the text inset is set to the correct value, implements SizeToContentsX
Replace Copy to Clipboard icon with a button for Problems
Hopefully will be more obvious what the button is, so ppl are more encouraged to copy the errors and send them to workshop addon devs.
Also add icons to quick fix button
Added "Copy to clipboard" button to gui.OpenURL dialog
Also add icons to buttons.
Increase max voice chat channels to 16 (from 5)
Merge from jungle_update (better croc handling of foundations)
Improve croc foundation attack
▆▊▉▄▅▆/▊▆▇█ ▋▅▇▌ ▌█▌ ▆▄▋▉▍▉▌
▅▄▅▊▆▉▋▆, ▅▋▆▉▄▌█▆▍▍ ▍▄▇█ ▅▅▆▍▌▋ ▍▌▄█▊▇▆▋▋ ▉▌▇▍█▉▋ ▍▉ █▅'▇ ▊█▊▇▌▊▋▌▍▇. ▆▊▍▆▇ ▋▌▍▊ ▊▊██▄ ▊▄▌▍█▆ (▋▉▋█▇://▇▇▄▌▋.█▍▋▅▊▊▄▆▆.▍▄▉/▌▉▊▅/▄▉▊▌▌▌▇▋/▊▋▍▉▍▍▇▋▅▍.▅▋▋)
merge from softcore_update/containers_auth
▊▋██▋▊▆▋▄ ▇▉▌▇▇▋▉▉ ▇▍▊▅▅▄
Removed vending machines from softcore containers needing building priv to open