1,032 Commits over 1,371 Days - 0.03cph!
Update citizen_debug.vanmgrph
Citizen/animgraph: debugging broken 1D functionality
Citizen/animgraph: added aim matrix to ledgegrab idle & added model-space IK to the state
Citizen/animgraph: small bits of cleanup
Citizen/animgraph: added Roll_N animation + graph implementation
Speed controlled through a new, generic "speed_scale" float.
Citizen/animgraph: hooked up ledge grab idle/shimmies to "special_movement_states" enum
(This may change later)
Citizen: aligned ledge animations so that the character is centered (ledge isn't at X=0) + added rough pull up animation
Citizen: raised the ledge animations to 150cm (59in)
Citizen: added ledge grab idle pose + shimmy right/left animations
Humans: fixed Frank head using the wrong eyes material
Added a realistic human player model! Comes with two heads and a default outfit. This is a first draft, with a rough base set of animations, subject to change and further development. Added a realistic human player model! Comes with two heads and a default outfit. This is a first draft, with a rough base set of animations, subject to change and further development.
▉▉▍▇█▍▊▅
▉▄▄▍▉▉ ▌▉▌▇▅
▋▉▌▊▉ ▍▋▄▊▉▌▉, ▅▅▆▋▄▋▆ ▄▊▌▊▍█ ▄▄▆▍
▇▊▄▆▋▌▉▋▌ ██▊▍▍ ▉▋▉ ▌▋▆ ▋▋▋▉▆▉▍▍ ▍▆▉ ▌█▄▇
▍▋▆█▇▋▄ ▆▇▋▇▊▌▄
▆▍▅▆ ▄▆▊▍█▄▅▍ ▉▌▊▌▊▅▌▊▊▄▆
██▉▊▉▇ ▌▌▌▅▍▋▇ ▇▉█▋▊ ▍▆ ▆▆█ ▅▆▉▉▅ + ▅▌▅ ▇▅▊ + ▊▌█▊▅▊▊/▅▇▋▊▅ ▇█▄▊▄
▄▊▌▍▆▄ █▇▍▌▊▋
▄▄▉▉▊ ▋▋ /▄▅▉▇
▉▅▌▊█▅▅▄ ▅█▋▄▊▇ ▋█ ▌▄▆ ▅▌▍█▇▋▅▉▋:
▋▆▊▍▉▇ ▆▋▇▇▍▆▌▋▉▆▆▍▌▅▌▆▍▄▍▇▉▉▋▉▍▆▉█▆▌▌▌▉▇▅▄▄█▄▍
▇▄█▆▄▋: ▇█▍█▇ ▊▄▅▋ <▊▄▌▇▋.▊▇█▊@▇███▍▌▅█▍▍▄▉▅▉▉▆.▍▅█>
▌█▆▌: ▇▉█ ▍▆▅ ▇▇ ▍▉:▋▌:▉▆ ▌█▅▆ +▍▊▄▅
▆▉█▇▅ ▋▉▌▊▆▅▊ ▄▌▉▌▌▇▉▊▄▍█▋▍ ▍▄▊ ▇▉▉▉▋▅▇ ▍▉▍▄▉▋▄▍▉▊
▍▆▍▍▆▇ ▊▄█▅▇▄▋▇▅▋▍█▅▊▊▌▍▉▉▇▍▇▄▌▍▍▍▄▍▋▄▋▅▅▍█▇▄▍▍
▋▉▌▌▌▉: ▌▌▄▄▆ ▇▇▍█ <▇▄▉▅▇.▅▋██@▊▅▇▄▋▅▉▌▊▊▊▇█▅▄█.▅▄▄>
▌█▊▇: ▅▊▊ █▋▍ ▊▋ ▍▅:█▆:▊▆ ▋▅▌▉ +█▋▊▇
▅▌▌▉▋▅▄▋▊▍▍▌▅▇▄▋▌▍(▄▌▊, ▅▄▍) ▇▆▇▍▅▇▄▍
▊▌█▋▉▆ ▅█▋▆▉█▆▌▄█▄▅▋█▋▌▋▍▋▍▅▉▋▅▊▆▍▄▅▇▌▆▅▉▋▉▅▇▊▊
▋▉▅▍▌▍: ▊▉▅▌▄ ▉▄▊▄ <▊▊▉▊▆.█▆▋▊@▉▋▍▅▊▆▊█▇▅▅▊▇▋▇▊.▊▇▌>
▆▆▇▆: ▉▉▅ ▌▉▊ █▅ ▉▋:▉█:▄▍ █▌▍▆ +▊▅▌█
█▆▍▆▄ ▉▅▇▉▇▅▉█▉▉▇▅▋ ▍▍▊▌ ▌▇▆▊▅█▍ ▄▉▅ ▇▅▅▌▍ ▆▊ ▌▄▅▆
▅▇▉▉▍▇ ▊▄▍▆▍▋▉█▉▄▇█▊██▌▍▅▆█▊▇▌▅▅▍▉▊▋▄▋▄▆▅▇▍▊▍█▇
▊▇█▆▆▇: ▇▋▋▇▇ ▇▇█▊ <▆▆▋▅▍.▆▍▋▉@▇▇▅▉▄▉▅▄▊▍▌▇▍▊▌▋.▊▋▌>
█▊▇▋: ▋█▄ ▋▌▋ ▉▄ ▊▊:▌▌:▌▆ ▋▊▆▅ +▇▊▇▊
▇▆▉▍█▆▉▄▇ ▌▍▉ █▅▍▋▆▆▅▌▅▊ ▄▋▍▉▌▄▉▆ ▇▊▇▅▄▋▅▍▆▆ ▉▉▇▄▍
▇▌▊▊▉▌ ▄▉▉█▊▆▋▍▍██▉▄█▇▆▆▄▅▉▇▍▍▆▉▇▄▌▊▋▆▇▄▇▆▅▌▊▇▉
█▄▇▌▄▄: ▆▉▉▄▉ ▊▉▍▉ <▄▊▆▍▇.▅▍▆▆@▆▅▉▋▆▆▇▊▊▊▅▆▊▅▅▉.▅█▇>
▊▅▉▌: ▄▌▆ ▉▉▋ ▄▇ █▌:▅▉:▍█ ▉▇▇▋ +▌▍▌▋
▆██▄█ ▆▋▊▊▄▊▆ █▍▍▋▋▍▉ ▆▋█▉▉▆▄▉ ▅▍▌▇
▉▍▆▉▋▄ ▉▇▌▊▌▅▄▍▊▄▊▇▉▍▍█▊▄▋▍▍▌▇▊▉▊▋▋▄▇▆▇▆▋▆▊▋▉▌▇
█▊▉▄▍▋: █▍▇▅▆ ▅▋▌▄ <▊▍▆▄▅.█▆▌▇@▋▆▅▌▊▇▊▅▆██▇▇▇▊▌.▅▋▇>
▌▄▄▊: ▇▊▉ ▊▉█ ▊ ▌▅:▋▆:▆▋ ▊▊▆▄ +▉▅▍▆
█▋▇▊▉▆▍▊▍▄ ▆▋▊▌▅▄▊▅▋▉▉
▆▉▄ ▄▍▆▉▉▆▇ ▍▄▇▌ ▌▆ ▄▍▅▊ ▆ ▆▋▍█▅▋█▅█▇██ ▊▆▅▆▉▊'▄ █▅ ▊▊▆▋▆
▍▆▌▉▆▉ ▌▇▍▌▄▊▋█▅▇▌▍▉▉▊▊▋▍▉▆▅▆▅▉▄▋▋▌▌▅▇▌▅▍▉▇▆▇▅▍
▌▉▆▌▌▊: ▊▅▉▆▉ ▍▄▍▇ <▉▆▇▋▇.▌▌▉▄@▄▍▌▊▍▇█▇▋▉█▉▄▆▋▇.▄▉▇>
▊▉▇▌: ▆▉▍ ▄▌▉ ▌ ▄▍:▄▅:▌▌ ▌▄▅▆ +▌▆▅█
█▋▉ ▍▊▇▆▇▉▍█▊ ▅▊▄▄▆▉ ▋▍▉█▉▌█ ▍▉▄▇▅ ▋▇▆▇▋▌█▅▆ ▅▉▋█ ▄▊▆ ▋▆▍▅▍ ▇█ ▆▍▄ ▅▋█▊
▌▆▍█▆▅ ▇▌▍▆▉▅▆▉▇▌▄▉▅▆▆▇▅▆▅█▍▄▇▋▊▋▊▉▇▆▋▄▌▉▌▌▇▊▉▌
▄▌▌▅▍▉: ▉▆██▅ ▋▆▋▆ <▇▉▅▉▌.█▊▆▄@▄▄▋▊█▇▄█▊▇█▅▅▅▋▄.▅▇▅>
▍▅▄▌: ▄▆█ ▇▅▄ ▋ ▇▇:▉▋:▄▌ ▌▍▌▅ +█▊▅▌
▇▅▆▇█ █▊▄▉▇▍▄▆▊▇▍▄▍() ▇▌▄▄ ▉ ▇▅▌▆▆▉ ▍██▌▍▋▅▆▄▋▊ ▄▆▋
▆▌▄▊▅▉ ▍▄▉▇▆▌▆▉▌▅▉▆█▉▉▌█▅▆▍▅▊▍▅▋▌▋▇▆▉▅▆▄▊▊▍▍▅▊▅
█▉█▌▅▇: ▊▋▅██ ▌▇▅█ <▆▄▇▉█.▄▌▇▇@▄▇▅▋▍▊▍▆█▅█▉▅▅▄▇.▅▄▆>
▌▄▆▌: ▌▅▇ ▌▉▊ ▆ ▄▉:▆▅:▋▌ ▅▌▋█ +█▆▇▅
▊▍▅▍▇ ▅▆▄▊█▆▌█▆▊▉▌▇▊(▆▅▍▆▄█▅, ▅▇▆▋) ▇▌▍▊ ▅▆▆▌▆█ ▄▄▌▋▌
▍▇▍▆▆▉ ▅▊▅▄▋▊▄█▅▍▌▋▍▅█▌▌▄▇▇▍▄▅▅▅▄█▆▉▌▆▅▄▅▆▅▌▊▇▊
▅█▅█▆▆: ▍▊▇▄▉ ▌▍▌▉ <▄█▍▍▋.▅▋▍▆@▋▊▋▋▌▇▄▅▊▊▅▉▍▋▍▌.▄▋▍>
█▆█▆: ▆▊▆ ▋▍▊ ▊ ▉▇:█▌:▋▉ ▉▆▌▄ +▍▇▅▆
▊▍▅▋ ▍▄▋▇▌▉▄▆█ ▉▅▊▊▅ ▉▄▅▌▅▄ ▄█ ▇▌▍▍ ▉ ▍▇▍▉▊ ▄▍▍▉▌▅█
▍▌█▄▄▄ ▆█▋▌▄▅▌▌▄▋█▋▍█▍▍▅▍█▍█▉▊▅▍▆▍▇▆▅▉▇▇▋▊▉▋▄▆▌
▋▌▄▆▉▌: ▍▋▉▍▋ ▉▊▄▊ <▋▋▉▍▌.▆█▉▌@▅▄█▅▋█▆▄▊▊▅▊█▇▊▄.▆▅▌>
▇█▄▋: ▆▅▍ ▋▅▅ █ ▉▆:▇▅:▅█ █▋▄▄ +▊▊▌▍
▌▍▆█▍ ▌▉▄▊▆█▄ ▆▅▄▋▋ ▄▌▅▄▍▇ ▇▆▅▊█▅▋▊ ▋▅ ▌▇▅▋▆▆ ▇▌▉▉▄▋▄▅▆▋▆▇
▊▌▋▌▍▊ ▌▆▋▅▅▌▍▉▊▍█▌▌▄█▌█▆█▇▆▊▅▍█▊▍█▄▍█▄▇▉▌▄█▆▋▋
▊▉▄▅▋▇: ▍▆▌▋▇ █▇▊▇ <▆▄▋▋█.▍▉▉▋@███▆▅█▇▆▉▋▊▋▉▄▆▄.▋▊▉>
▆▉▍▊: ▋▅▊ ▍▋▉ ▇ ▌▅:▄▇:▊▇ ▌▊▅█ +▇▄▍▊
▍▊▊▄▉▊▋ ▆▍▆▅▉▋▋ ▄▉█▊▋ ▅▍█ ▊▆█▌▅▄▉ ▅▍ ▉▄▄▋▉▍ ▍▅▌▉▉▆▋▅▅▉▅▉
▊▄▊▆▋▊ ▉▍█▉▊█▊▋▋▆▊█▋▄▉▉█▉▌▊▇▆▍▄▇▆▄▉▍▅▆▆▇▇▆▉█▇██
▍▋██▉▊: ▌▅▄▄▉ ▅▇▅▇ <▆▄█▆▇.█▅▌▊@▄▇▅▇▋▄▄▄▄█▊▉▌██▊.█▌█>
▌▉▄▌: ▅▄▍ █▄▅ ▅ ▄▌:▍▌:█▅ ▉█▇▍ +▍▉▅▍
█▋█▊▍▊▍
▉▊▄▄▍█ ▍▇▌▉▄▍▍▇▌▊▄▍▆▅▍▉▉▌▄▍▍▊▆▉▌▄█▅▉▅▍▋█▋▉▄▉█▌▉
▆▉▊▅█▋: ▋▉▍▍▅ ▅▍▄▉ <▇▄▆▋▄.█▋▌▊@▊▆█▉▉▍▄▄▍█▊█▄▅▅▅.▆▍▆>
▊▄▋▋: █▅▆ ▍▇▋ ▌ ▅▉:▊▍:█▅ ▆▅▍▄ +▍▄▅▉
▇▅▆▍▄▊▋▉█▆▊ ▍ ▉▄▇▇▍▋ ▇▅▇▅▋▄▋▄ ▌▄▍▅▊▍▊▆ ▄▄▍ ▄▆▅▄▊
▄█▇▉▊▅ ▌▉▅▆▋▄▅ ▆▇ ▆▅▄▋ ▊▉▆▉ ▊▆▆▍▆ █▌█▆▄▋▅▆▊▆▇▋▆
█▄█▆▊▄ ▌▊▋▌▅▇▇▄▋▌▋▆▇▅▉▅▆▋▉▍▇▅▄▉▍▊▄█▄▆▅▇▊▆▅▉▋▄▇▌
▋▊▇█▌▍: ▄▉▋▇ ▌▋▋▊▊▋▊ <▅▌█▇@▍▍▉▋▇▉▅▄▍▇▅.▇▋.▆▋>
▋▊▊▍: ▊█▋ ▋▇▇ ▊▍ ▉▇:▍▊:▅▌ █▋▊▋ +▊██▍
█▋▍ -▊▇▄█▍▍ ▍█▌▌▌▆▆ ▅█▋▉ ▊▊▍▋▄▉▆█▄ ▍▍▆ ▉▋▄▍▌▋▍
▊▉▉▇▄▅ ▆▄▉▉█▊▆▋▌▆▋▋▅▊▌▋▄▍▄▍▆▇▄▌▆▇██▄▄▅▇▍▉▋█▊▍▉▇
▋█▊█▆: ▆▊▄▅▍▉▉▇▄▍ ▍▍▊▆▅▅▌▋▌▅
█▋▉▌█▄: ▄█▊▆▋▊▉▊ <▄▊▇▆▅█@▉▍▍▊▋█▍▊▇▆▌▋▌▇▋█.▄▅▊>
▌█▄▋: ▋▅▇ ▇▄▆ █▋ ▉▉:▇▊:▉▋ ▍▅▍▄ +█▄█▇
▄▋▆▍▉ ▉▅▊▇▄█ '▆▆██▄▍' █▍ █▇▅█
▋▆▋▅▄▋ ▋▄▄▆█▅▉▅▅▊▌▊▍▆▇▅▇▉▉▊▍▅▍▅▄▄▍▇▉▊▌█▄▌▊▍█▍▋▇
▍▍▌▋▄▋: █▍▅▉▍▅▉█ <▋▉▄▌▆▇@▅▆▉█▌▇▉▄▊▇▊▇▋▆▋▍.▆▆▄>
▆▊▄▅: ▍▋▊ ▍▊▅ ▄▌ ▉▋:█▅:▋▇ █▌▋▆ +▇▆▌▍
▉▇▆▊▋ ▇▌▌▍▋▅▄
- ▉▊▅█▌▍▊█▄ ▊▇▄▄▊▌ ▇▇▄▆▋ ▇▄ ▅▇▊▄ ▇▋▄▋▋ ▊▍ ▊▌▋ ▋▇▇█▊▇▌
- ▍▄▅▊▅ ██▉▍▉█ ▋▉█ ▌▋▌▉▌ █▇▍ ▋▄▇▋▅▊▄▊▌ ▄▄▅▆▆ █▇ ▅▆▉▅▋, ▅▉▍▇▆▌▉▉ ▌▋▍▉▄▇▄▇█/▇▌▉▇▋ █▋ ▇▆▉ ▆▉█▊
- ▌▅▅▉ ▉██▌ ▋█ ▄▍▆▅ ▊▆▍ ▇▄▋▍ ▊▊██/▅▆▍▄▇▆▄█
- ▅▄▇▌▋▉▍▍/ █▅▄ ▆▋▅▊▊▍▉▌█▋
▋▆█▋▅▇ ▅█▌▇▅▄▉▄▄▇▇▆▌▅▋██▊▆▊▍▊▇▄▋▇▉▊█▌▌▅▉▅▋█▊▌▌▅
▅▅▉▇▊▇: ▄▇▍▆▋▌ ███▉▅▋ <▉▋.█▌▊▆█▅▊▊@▇▆▋▊▋.▄█▌>
▄▄▇█: ▇▅▋ ▅▄▄ ▊▅ ▋▅:▇▌:▆▄ ▊▇█▆ +▍█▊▇
▍▊▉▄▅█▍▊█▄ ▇▄█▆▄▉▅ ▇█▉▍▆ /▍▍▇▊▇▅/▇▋▅▌▌▍▆/
▅▊▄▍▆▅ ▅▊▆█▅▊▇▆▍▅▉▄▄█▋▋▉▊█▅▌▆▋▍▉▆█▄▍▍▅█▆█▌▊▊█▆▍
▍▌█▊▉▌: ▋█▉█ ▄▇█▅▆▌▍ <▇▍▍▅@▇▇▍▍▅▋▉▊▄▅▄.██.▅▍>
▌▄▇▊: █▄▉ ▉▌▌ ▍▄ ▅▍:▊▆:▉▆ ▌▊▉█ +▊█▄▆
▌█▆▍▌▄ "▄▇▄▌ ▍▇▉▅▋▋ ▅▅▅▋█▋▇▌ ▉▆▊█▇██▍▉▆ ▅▅ ▆▍▄▍▄▌▍ .▌▇▅▋ ▊▌ ▌▇ █▆▇▌▅▄"
█▇▉▇ ▉▍▉█▄▋▇ ▍▊▉▅▅▆ ▊▉▋▉█▇▉▄▉▉▅▍▊▅█▄▄▋▉█▉▉▍▇█▇█▇▊▆▆▅▇▄▋▆▇█▄▍.
▄▇▍▇██ ▇▉▌▍▉▋▊▋▊▄▉▇▅▅▍▅▇▇▇▄▊▊█▅▋▉▋▉▇▆▉▊▍▍▍▌▉▋▊▉
█▉▇▋▋▍: ▇▍▄▍ ▍▊▍█▌▋▅ <▋▅▍▄@▅▇▇█▌█▆▅▅▊▉.▊▋.▉▄>
▆▋▇▋: ▆▌▉ █▇▍ ▊█ ▄▆:▋▋:▉▊ ▉▇▅▄ +▆▍▉▄
▋▍▆▇ ▍▆▍▌▉█ ▇█▋▆▉▍▄▉ ▅▄▅▍█▌▄▄▆▅ ▌▅ ██▅▅▄▊▅ .▍▄█▉ ▆▊ ▆▇ ▄▍▆▋▆▍
▋▋▉▍▌█ █▇▌▍▋▍▇▍▍▆▉▆▍▋▅▉▋█▍▆▅█▍▅▍█▊▆▋▋▊▆▅▅▋▉▅▉▌▇
▆▇█▋▇▄: ▌█▌▅▄▄ ▄▊▇▍█▋ <▍▇.▆▅▅▅▊▆▄▌@▄▉▇▅▊.▉▍▌>
▄▅▋▍: ▉▅▇ ▉▋▊ ▆▉ ▋▋:▅▇:▉▉ ▄▅▅▆ +▅▄▄▄
▇▆▌▌▇ █▊▉▌▆▍▄▋ ▅▋ ▊█▍▄▉.
▄▆█▄▊▅ ▉▌▊▋▍▋▍▉▋▅▋▌▆▌▍▆▍▌█▉▋▍▇▉▋▆▄█▍▅▋▌▆▆▌▋▌▅▇▆
▄▅▇▊▌▊: ▋▅▉▋▇ ▉▉▄▇▊▉ <▅▄▋▊█▉▊▇▍▊▍@▍▅▇▌▉.▆█▊▉▊▊▅.█▌▌▆▋▆.▆▅▍>
▆▆▋▄: ▉▉▊ ▊▊▆ ▌▍ ▋▆:█▇:▉▄ ▇▉▋▄ +▌█▌▆
▋▉▇▌▅▋█▄▊▍ ▊▋▄▊▌ ▍▍█ ▋▆▋▊█ ▌▆ ▆▌▊ ▆▆▇▆ ▆▆▋▅▇▌▅▅█ ▋▉█▋▌▍▋
▋▋▅█▋▊ ▉▅▄█▊▍▌▌▌▇▉██▋▌▊▊▄▆▉▋▍▄▄▅▇▆▅▌█▅▍█▊▋▊▄▌▅▆
▇▊▍▅▌▆: ▇▆▌▄▅ ▄▆▅▌▉▄ <▄▇▆▊▋▍▇▆▊▍▌@▍▆▉▌▍.▍▆▄▄▌▅▌.▍▍▆▌▇▅.▋▇▋>
▅▉▄█: ▌▉▊ ▋▉▍ ▆▆ ▉▆:▊█:▆▅ ▆▌▋▉ +▆▌▉▆
▋█▅▄▄▌▊▅▌▋▉ █▄█▊▇▉▍
▍▉█▊▉▇ ▄▄▉█▍▊▇▅▌▉▌▅▉█▌▇▊▇█▍▍▌▄▌▆▇▄▆▍▍▌▄▌▌▍▄▇▆▅▆
▇▇▉█▉█: ▌▄▄▉▍ ▄▆▊▇▆▍ <▊▅▉▊▄▆▍▋▋▇▋@▉▌▍█▆.▆▉▊▆▊▆▌.▉▍▆▇▍▋.▌▆▉>
▊▅▋▄: ▉▉▇ ▅▊▊ ▌▅ ▄█:▆▊:▉▌ ▍▄▋▄ +▆█▇▍
▊▌▌▍▄▌▄ ▆▌ ▊▆▇▊▊▆▉▊▍▇▊▉
▉▄▋▇▌▍ ▆▋▊▌▆▊▊▍▉▆▊▊▄▅▌▉▉▇▅▆▇▌▅▇▇▄▋█▅▌▅▉▆▍▌█▆▌▍▋
▄▊▊▆▄▇: ▇▉▊▍█▇▆▊ <▊█▊▆▉▅@▍▅▌▋▅▄█▅▆▇▇▊██▅▊.▅▍▇>
▄▋▅▋: ▆▇▋ ▇▉▆ █▌ ▍▇:▋▋:▌▌ ▍▅▍▍ +▆▆▆▉
▌▍▋█▄▆▊▍██▋ ▇▊ █▇▊▌▌▌▉▇ ▇▊
▊▆▋▆▌▇ ▄▉▌▉ ▊▉▌▊ ▅▆▅▅ ▄▌▇▍▉▆▉▋▇ ▄▇▇ ▋▆ █▆ ▅▅▆ ▄▌▉█▍▍▌▍ ▍█▄▋▉▋ ▇▆ █▆▊ ▋█ ▊▄▄▍▅ ▉▋ █▄▉█ ▍▍▄▇ ▉██▄▊▆ ▉▆ ▆▇▋▊ ▇▍▄▄██▌▇ ▋▉█▋▇▄.
▉▌▍▉▌ ▉▋▄ ▋▄▌▉ ▄▅▅▋▋▊▇▍█.
▉▄▉▄█▅ ▊▉▍▍▋▊▉▋▋▇▊▉▆▌▆▅▍▅▌▇▊▆▍▋▌▇█▊▍▌▇▉▇█▄▉▋▄▅▌
█▇▇█▅▄: ▅▄▆▇▄ ▇▅▅▉█▉ <▆▅▇▆▍▌▌▄▅▆▌@▌▋▇▍▄.▄▌▆▌▉▊▋.▆█▇▉▌▍.▇▅▌>
▉▍▉▌: ▋▊█ ▉▉▇ ▍▌ ▇▅:█▄:▄▇ ▅▆▇▉ +▍▊▇▅
▋▊▆ ▄▄▋▄▍▆▋ ▌▄▆▇ ▇▊ ▇▅▊▍▌▇, ▍▉▋ ▊▆▌▉▄▍ ▌▉▊▌▌/▇▉▇▆▋▇▌▋ ▅▄▄▋▍▊▅ ▋▄
█▆█▊▋://▆██▅█.▆▋▄▉▊▉█▇▌.▌▇▅/██▆▇▊/▉▉▍▌▌▆▌▄-▇▇▆▉-▆▌▋▉-▍▊▍▅-▉▇▆█▆▇▌▊▆▌▄█.▇▉▍
▍▆▉▇▉▆ █▇▅▆▋▉▄▉▉█▌▆▆▅▅▆█▊█▇▅▋▉▇▋▆▊▍▌▇█▆▇▍▄▄▅▆█▌
▌▄▋▇▆▅: ▄█▋▋▌ ▍▍▆▄▋▌ <▋▉▉▌▅▋▆▄▉▍▇@▅▅▅▅▅.▊█▄▄▅▅▉.▅▆▆▅▉▉.▇▅▌>
▇▆▇▋: ▍▍▋ ▇█▇ ▊▆ ▋▇:▊▉:▊▌ ▆▋▍▊ +▊▊▄█
▊▌▊ ▋▉▆▌█ ▌▌▋ █▅▋▋▋ ▉▌█▆▇▍▉ ▉▌▋▄▇▌▊▉ ▋▋ ▉▆▌ ▋▋▋██▇█▋▌
▅▊▉▄▆▄ ▌▆▋▄▋▇▄▌▌▅█▉▆▇▄▋▊█▌▄▌▄▄▌▄█▌▋▋▄▉▆▊▉▋█▍█▉▉
▊▌▍▆▍▋: ▆█▋▇▍ ▅▅▆▅▌▅ <▌▄▆█▇▅▋▊▆▌▊@▉▉▌▅▌.▇█▄▄▋▍▆.▅▇▍█▅█.▄█▇>
▌▇▄█: ▆▄▆ ▋▆▊ ▋▌ ▊▌:▆▉:▋▆ ▌▌▅▋ +█▍▋▅
▄█▋▉▆▅█▇▋▆▋▊▊ ▆▅▇▋ ▄▆▇▉▉▋ ▌▇▅ ▆▊▅▄▌▅▊ ▄▄▋▄▊█▉ █▆ ▅▍▋▄▊▊▊▌▍ █▋█ ▊▉▋▌▆▄▍▌ ▅ ▊█▊ ▍▉▆
▇▇▅▊▊▍ ▆█▋▄▆▉▉▍▇▄█▇▆██▄▅█▇▊▊▄█▉▅▄▄█▆▉▌▋▅▉▇▅▍▋▍▉
▇▌▌▉▍▆: ▋▄▋▆▅ ▋▆▍▆▅▍ <▆▌▅█▅▊▌▆▊▆▋@▄▇▄██.▌▇▋▆▌▉▍.▇▄▊▄▇▅.█▅▆>
▅▅▋▌: ▋▄▆ ▅▍▇ ▇▍ ▍▍:█▆:▊▆ █▊▉▍ +▄▊▍▌
██▊█▄▅▅.▉▍▅▇▊▊ ▋▅▉▇█'▆ ▄▇▄▆▌ ▋▌▄▉ ▊▆▅▅▍ ▍▊▋▉█ ▆▅▌█, ▄▆▌ ▄▊▊▉▍▉ ▉█▌ █▇▅▌▋ ▆▄▊ ▌▊▄▆, ▊▊▅▇ ▄▌▆▄▆▌▍▍ ▍▊▅ █▄▋▊▉ ▋▄█▇▊▊▋ ▄▄ ▅▊█▆ ▊▇▍▉▅▌▋▇ ▇▊▊ ▇▅▍▄▄ ▊▉▄
▍▉█▉▆▋ ▋█▅▅▄▄▅▉▋▆▇▆▌▌▌▍▅▇█▌▍█▋▊▍█▊▊█▋▅▋▋▋██▉▅▇▊
█▌█▊▋▌: ▋▋▆▍▇ ▅▅▇▌▇▊ <█▆▊█▉▅▍▄▉▉▅@█▇▇▍▄.▌█▄▍▄▍▅.▊▌▇█▇▄.▊▇▌>
▅▌▅▍: ▊▅▌ ▋█▊ ▅▇ ▊▇:▌▊:█▄ ▇▌▋▇ +▊▉▅▍
▉▅▊▉▄▍ ▅▆▇ ▉▆▄▇ ▊▊ ▇██ ▋▋▍ ▉▉▌▍
▄▆▉▄▋▅ ▊▌▊▊▊▄▌▊▆▆▇▄▇▇█▊▋▆█▌▆▋▇▄▄▊▋▊▄▋▉▅▉█▊▅▋▍▄▆
▉▌▉▉▉▉: ▆▉▉▇█ ▇▊▌▍▌█ <▊▉▍▆▆▉▉▊▆█▌@▊▆▍▋▆.▅▆█▅▌█▉.█▆▄▊▆▆.█▊█>
▋▋▄█: ▄▄▇ ▆▍▍ ▇▄ ▇▌:▇█:▋▅ ▉▊▉▋ +▊▆▄▉
▄▆▍▇▇▋ ▌█▌ █▌▇▅
▅▍▅▅▍▄ █▄▇▊▆█▅▌▄▍▄▅▌▇█▍▄▇▊▉▉▆▍▍▌▉▇▍█▊▇▉▋▅▉█▊▉▊▌
▆▌▋█▌▇: ▄▍▋▅ ▌▌▉▇█▆▅█ <▋▋▄▆██▉@▉█▋▌▍.▇▉▊>
▌▇▋█: █▅▉ ▉█▅ ▇▋ █▄:▇▊:▆▇ ▆▋▍▋ +▍█▇▌
▆▍▇▅ ▌▌▇▆▊▄▋▌▋▆.▆▆▊▄ ▄▊▅▉▄▄
▉▊▄▌▊▅▇ ▆▅▉ & ▌▉▅▇ ▇▉█▆▇▆▌
█▉▍█▋▄▌ ▇▋▋ ▋▌▆▉ ▅▋▉ ▉▉▊▉▋▆ ▇▊▄▆▋
▉▆▌▅▌▆▅ ▄▄▇▍▄█▌▇▋▅▋▍▌▅
▋▍▊▌ ▉▆▋▇▊▌ ▊▌▅▌▉▍▉▄▄█▅
▊▆▊▉▅
▋▇█▆ ▍▅█▉▋▇▆▇▆▍▇ & ▋██▆▆ ▇▄▌▌▉▊▍ ▇▄▅▊▄▆▇
▉█-▌▇▌▉▇▉, ▄▆▋▆▌▄▅, █▅▋ █▇▌▋█ ▊▋▆▆▅▉▊ ▊▅▄▌▇▌
▌▄▊▊▌▌▍ ▊▅▆▌▌▆▊ ▍▍▉▍▉▌, ▄▆▊▊▇ ▅▄▇▉▉▆▄▋▆▉▅
! ▅▋█▄ ▋▋▉██▇▌▌▋▊ & ▉▄▆█▌▊▇ ▍▆▋▋
! ▊▄▊▄▌ ▄▄ ▄▌▌▌ & ▉▉▅▇▊ ▆▆▍▇
! ▅▊▍▍ ▅▋▆▇▍▋▅ ▉▋▆▄▊▍▇
! ▊▇▌ ▌▍▋▋ █▊▇▉▍
! ▅▋▆▇▊▄▅ ▊▍▄▌ ▊▄▅▊▇▌▆▄▊▋, ▌▊▊▉ ▇/▋, ▅▅▊▅▌ ▌▄▉█▆▇▊ ▄█▆█ ▉█▅▋▌▄█▊▇ ▆▌▅▆▅▊▌ ▆▇▍▉▆▍ ▄▌▄▉ ▆▅▉▊▍▆▉█▄▆ ▇▉▌▅▊▄▋▉
! ▄/▍ ▆▇▉█▇
! ▋▉▊ ▅/▊/█
! ▇▋▆ ▌ + ▇▄▋▇▊ ▉▌▄▇ █▋█▌▌▆▅
! █▌▅ ▆ + ▍▉▅▆▆▊▌▆▇▌ ▄/▋/▊
! ▆▇▍▍, ▆█▇█▆▆ ▍▊▇▋▋, ▍█▄▉ ▊▍▌▌▍█▄▍▊ ▉▊▉█▍▋, ▉▉▆▅▅▇▋▌
! ▊▇▅▊▍▍ ▄▇ ▍▋▉▅▊█▉▄▉▅█ & ▊▌▉▊ ▉▊▉▅▆▊▆▌▅
! ▌▅▆▉▌ ▌▅▄▉▆-▋▋
! ▌▋▄▅▍▆▊▍▍▄ ▍▄▊▊▄▇ ▋▌▊▊▍█▆▉▅
! ▄▆▋▄█ ▄▊ ▌▌▊▌█▄ ▆█▊▌▅▌▅▅▌▅ ▋▌▆▋▉ ▅▌▇▉▉▍▍ (▄▍▍█▍ ▇▆▌▍▅ ▌▋▉ ▆▍ ▄▆█▇▄▆ ▄▍▅▅▇▅▊▍▆▇ ▌▅▇ ▇▊▍)
! ▊▌▌ ▍▍▆▊▍▉ ▆▆▅▌▅ ▄▆▌ ▋▄▄▋-▇▊▆▉ ▌▊▌▍▉▆▍▇
! ▄▉▊█▅ ▆▋ ▇▆▊▅▌ (█▅▅▆)
! ▊▆▉▇▉▆▇ ▅▊▇▄▊ ▋▍▍▍ ▇▌ ▋▉█▌ ▋█▆▋█▋▉ ▇▄▊█▉▇
! ▇▊▉▋ ▌▆█▋ ▋▅▄▉▆▊▅
! █▊█▊▌▌ █▄▄ ▌▋▊▊▆▆▇ ▅▅▊▊▇▌ ▄▌▇▍ ▄▍▇▅ ▆▆▄ █▌█▆ ▌▋▉▍ ▊█ ▍▅▉▌█▉▌▌▇ ▊ (▄ = ▋▊▊▊▆, ▍ = ▋█▋▌ ▊█▉)
▆▇▌▅▇ █ ▄▋▋▇▅▋▋▅▉ ██▆▌▊ ▄▊▆▋▊▉ ▌▋█▌▉! ▆▊▍▉▄ ▋▊▉▌ ▉▆▄ ▇█▌█▋ ▆▄▆ ▉ ▋▌▉▉▅▄▉ ▌▊▇▆▌▋. ▌▅▌▉ █▊ ▌ ▋▍▄▋▉ ▍▇▋▄▄, █▇▉▍ ▉ ▋█▄▍▊ ▅▋▆▅▍ ▆▉▉ ▋▊ ▆▌▇█▌▋▌▋▄▆, ▊▋▋▉▌▍▆ ▌▇ ▇█▉▉▍▊ ▄▋▌ ▋▇█▋▍▇▌ ▊▍▅▅▋▍▊▍▊▍▇.
▄▆▆▅▄▄▆▊
█▊▆▅▌▍ ▅▌▇▊▅
▇█▊█▅ ▌▅▅▄▆▍▅, ▌▋▆█▄▍▉ ▌▄▄▇▇▇ █▅▍▍
▆▉▍▌▄▊▇█▋ ▄▇▌▍▅ ▇█▉ █▇▊ ▉▄▍▌▋▄▇▄ ▆▅▋ ▊▅▆▋
▋▄▇▌▅▍▍ ▆▍▅▄▅▌▄
▍▋▄▋ ▇█▆▊▅▄▍▇ ▆▆▊▇▋▊▊▇▉▇▅
▉▆▋▉▋▄ ▊▋▍█▄▆▇ ▊▌▌▋▉ ▅▍ ▇▍▌ ▊▋▊▉█ + ▇██ █▉▊ + ▉▉▊▌█▉█/▆▍▌▅▍ ▆▋▌▌▍
▌██▋▉█ ▄▋▄█▅█
█▍▊▋▊ ▄▇ /▆▍▅▉
█▅▍▍▉▌█▌ ▊▉▉▊▍▄ ▍▍ ▄▉▅ ▇▅▆▋█▌█▅▉:
▊█▉▄▊▌ ▄▉▉█▉▌▊▉▉▍▍▇▊▊▋▄▆▋▋▋█▅██▅▄▊▍▆▅▍▉▍▅▄▇█▉▄▆
▊▉▋▋▉▉: ▋▉▋▉▆ ▌▆▌█ <▌▅▅▇▉.▆▋▇▇@▄█▇▉▊█▊▊▋▉▄▌█▊▍▊.▆▅▅>
▊▍▅▇: ▄▋▅ ▅▆▆ █▍ ▍▅:▇▋:▄▅ ▆▍▆▌ +▉▅▊▋
▉█▉▅▋ ▆▅▉▋█▌▅ ▆▌█▇▇█▆▉▅▊▄▍▌ █▄▅ ▍▋█▄▊▆▅ ▋▊▅█▆▌▇█▍▌
▍▌▇▉▍▉ ▄▌▄▊▍▇▊▆▇▅▍▊▍▍▌█▍▋▊▋▆▄▍▊▋▅▅▄▍▉▊▊▍▆▇▅▉▊▅▇
▄▌▅▄▍▋: █▍▍█▌ ▊▌▆▆ <▄▍█▍▋.▆▉▇▋@█▆▊▋▊▋▍▇▉▇▊▇▌▌▋▄.▋▆▄>
▉▊▄▌: ▋▍▇ ▅▅▋ █▅ █▉:█▉:▋▄ ▊▇▆█ +█▅▉▉
▍▅▄▋▌▄▄▉▌▄██▍▌▆▉▌▊(▄▅▆, ▋█▇) ▍▍▄▌▌▄▅▌
▇▆▄▅▅█ ▌█▅▌▋▇▅▇▅▌▄▊▊▌▅▇▆▅▋▋▋▍▍▅▋▋▌▉▄▊▌▅██▌▉▍▇▍▄
▅▊▌▅▌▅: ▇▇▋▍▄ ▌▇█▊ <▌█▄▅▍.█▉▆█@▄▍▆▆▍▉█▍▅▊▉▄▄▋▆▉.█▉▌>
▄▊▍▋: ▍▋▍ ▅▍▅ ▄▉ ▊█:▇▅:▍▍ ▄█▆▉ +▄▊▊▍
▊▌▋▋▉ ▉▍▋▅▌▄▅▆▉▍▇▉▋ ▅▄▍▉ ▋▊▇▊█▅▉ ▉▉▆ ▄▄▄▅█ ▅▊ ▉▊▌▆
▉▄▋▊██ ▌▄▇▉▉▍▄▅▄▇▍▄▌▆▊▆▋▄▆█▌▍▇▄▊█▄▇▅▉▊▄▍▊▊▉▅▋█▄
▄▄▇▋▋█: ▋▊▊▆▇ ▊█▍▊ <▍▊▇▌▅.▍▋▍▉@▋▌▅▆▉▄▅▍▉▅█▋▊▉▇▆.▋▇▊>
▍▅▍▊: ▍▄▋ ▍▌▍ ▇▅ ▆▅:▋▄:▌▇ ▉▄▊▅ +▇▄▇█
▌▆▄▍▊▇▉▄▄ ▇▌▆ ▅▅▌▅▆▄▆▍▆▊ ▌▉▉▍▆▇▄▋ ▌▌▆▉▆█▌▍▇▍ ▉▅▅█▆
▊▆▇▅█▌ ▆▌▇▆▆█▉█▋▅▆▄▆█▍▍▊▍█▇▇▋▆▇▄██▇▍▋▌▅▊▌▉▍▍▆▍▍
▇█▊▌▇▅: ▍▍▆▊▉ █▋▅▉ <▉▊▍▆▋.▄▅▉▄@▇▅█▇▍▍▄▇▍█▍▌▅█▄▌.▉█▄>
▆▅▇█: █▇▍ ▇▍▍ ▆▍ ▅▍:▊█:▆▋ ▉▍▇▉ +▆▉▆▅
▊█▆▍▇ ▅▉▅▆▍▄▋ ▍▍▍▉▄█▋ ▉▌▌▉▍▌▅▄ █▋▊▌
▌▅▇▊▉▅ ▄▉▄█▍▋▋█▉▋▉▄▋▉▋▋▋▆▌▍▆▄▆▅▄█▉▄▆▉▉▇██▍▌▋▄▌▅
▌▉▇▇██: ▍▅▄▄█ ▄▌▊▍ <▄▇▌▇▉.▆▊▅▍@▅▆▊▇▉▍▄▊█▊▅▋▋▌▋▉.██▍>
▆▅▉█: ▌▉▍ ▉▌▋ ▇ ▍▅:▇▇:▅▆ ▌▊▉▅ +▍▋▊▅
█▅▆█▅▌▄▌▋▍ ▌▊▋▌▌▊█▆▍▄▋
▍▇▇ ▊▉▋▌▌▋▆ ▇▌▇▇ ▇▊ ▄▋▌▆ ▅ ▇▇▉▉█▄▋▍▋▋▌▊ ▇▉▌▌▋▉'▄ ▅▍ ▄▊█▌▇
█▉▍▇█▄ ▋▊▊▍▌▅▄▊▄▍▄▉█▆▍▌▉▋▆▅▋▅▅▇▋▄▊▅▉▆▍▇▆▌▌▋▌▌▄▊
▉█▄▄▍▅: ▍▊▇▊▄ ▅▄▇▆ <▊█▇▆▋.█▍▅▌@▍▋▇▊▇▆▍▊▋▊▉▇▄▅▇▉.▄▄▋>
▌▆▋▆: ▍▉▅ ▆▉▉ ▆ ▅▊:▇▆:▄▆ ▋▇▆▅ +▋▇██
▋▌▊ ▇▍▋▊█▅▆▉▆ █▇▄▆▄█ ▅█▉▍▄▋▅ ▅▋▋▌▊ ▅▍▇▌▆▊▉▌▉ ▌▊▋█ ▅▋▌ ▋█▆▍▄ ▆▅ ▄▌▋ ▌▍▅▌
▍▍▊▉▄▊ ▌▊▅█▋▅▍▇▌▌▉▍▄▇▇▇▉▌▉▍▋▇▍█▌▉▋▊▍▊▄▌▄▄▍▅▆▌▆▌
▆▌▅▄▆▌: ▌▌▉▉█ ▋▍▄▍ <▉▊▊▉▅.█▇▇▅@▋▊▌▍█▅▄▊▉▋▊▌▅▌▅▍.▊▌▄>
▇▆▇▌: ▍▅▇ ▉▊▆ ▅ █▍:█▄:▇▊ ▍▍█▇ +█▋▆▆
█▄▇▌█ ▉█▉▆▄▍█▋▌▌▄▊█() ██▆▊ ▇ ▅█▉▍▋█ ▋▍█▄▊▉▄▍▋▅▋ ▊▌▋
█▅▍▍▅▅ ▇▋▍▇▋▍▋▋▆▇▍▉▋▅▉▄█▇▅▇▋▄▍▇▊▌█▌▌▄▉▊▌▊▄▍▍▅▇▊
▌▇▋▇▅▅: ▍▋▆█▊ ▊▌▌▇ <▇▌▉▊▍.▉▌▌▆@▋▇▊▄▄▉▅▇▍██▇▇▉▆▉.▍▊▉>
█▇▌▌: ▄▆▋ ▅▇█ █ ▄▍:▉█:▊▌ █▌▋▋ +▇▇▋▇
▇▍▍▆▇ ▅▄▍▆▇▌▌█▉▌▆█▋▌(▉█▉▌▌▍▇, ▄▄▍▌) ▅▄▅█ ▋▆▌▌▍▇ █▅▊▅▉
▋▇▍▍▉▇ ▉█▅▍▋▅▅▇▄▄▍▍█▅▌▋▄▌▊█▉▋▉▄▆▍▊▆▆▄▅▅█▉▉▉▍▉▄▄
▋▉▍▆█▅: ▆▄▋▍▇ ▄▇▄▌ <▌▍▅▊▌.█▌▄▍@▍▌▉▍▊▆▋█▋▉▋▍▋▆▉▄.▋▊▉>
▆▊▄▋: ▇▋▋ ▉▌▌ ▅ ▊▌:█▍:▆▊ ▊▇▇█ +▆▌▇▋
▇▍▄▋ ▉▉▅▌▇▌▇▍▄ ▆▆▌▋▍ ▉▊▍▌█▌ ▍▍ ██▆▄ ▍ ▌▋▍▍▋ ▋▌▆▇▄▋▉
▊▊▆▊▇▄ ▉▋▇▇▊▌▉█▆▋▊▅▋▉▆▌█▆▄▇█▄▍▊▆▉▅▇▌▅▊▇▄▇▋▇▊█▄▅
▇▇▉▄▊▅: ▇▆▆▋▅ ▄▉▄▊ <█▌▋▄▅.▋▆▊▄@▄▇▄▇▌▍▆▄▆▍▍▅▉▌▍▄.▆▍▄>
▄▍▊▋: ▍▊▆ ▉▍█ ▍ █▅:▊█:▄▆ ▄▍▇▆ +█▅▌▉
▅▉▌▍▋ ▍▍▋▅▉▄█ ▉▅▋▊█ ▆▉▇▉▋█ ▄▋▋▄▆▉▋▊ ▌▌ ▆▋▄▇▉▆ █▄▊▍▄▇▊▋▍▅▋▌
▅▉▉▍▇▅ ▌▅▄▍▊▅█▍▆▉▇▇▋▆▍▄▅▆▍▌▇▊▅▄▅▄▌▌█▆▆▆█▍▉▇▆█▇█
▉▅▅▄▇▉: ██▍▅█ ▆▄▉▋ <▅▄▄▌▉.▇▉▉▄@▇▅▍▋▋▉▌▊▍█▇▆▉▅▊▉.▉▇▍>
▇▌▄▅: ▌▅█ ▇▆▊ ▌ ▅▍:▊▅:▋▆ ▊▋▋█ +▆▋▇▊
▆▉▉▍▇▇▍ ▍▊▆▅▆▍▄ ▊▆▆▊▄ ▅▆▇ ▊█▇▇▌▌▉ ▉▄ ▅▋█▊▉▍ ▇▌▆▌▅▇▇▍█▆▉▄
▉▅▊▊▅▇ ▍▍▄▉▍█▄█▄▅▄▉▉█▄▇▌▋▋▆▄▍▆▉▍▅▆▌▄▇██▉▄▋▊▌▌▌▌
▋▋▇▆▌▍: ▋▅▄▅▆ ▌▌▍▇ <▍▋▉▊▌.▅▆█▊@▋▊▍█▊█▉▄▌▍▉▇▊▄▋▍.▇▅▌>
▌▄▉▉: ▊▋▋ ▍▇▆ ▄ ▊█:▇▊:█▆ ▍▇█▉ +▊▆▍▍
▇▄▇▊▌▊█
▄█▉▊▆▄ ▇▊▍█▆▋▌▆▄▍▄▉█▍▄▊▆▅▌▉▊▆▋█▆▉▉▊▊▍▋▍▆▅▊▊▉▄██
▅▊▆▄▇▅: ▇▊▇█▆ ▇▌▊█ <▄▌█▆▋.▅▅▊▅@▅▄▇▇▇▇▄▅▋▇▇▍▄▋▅▅.▅▍▆>
▅▋▇▅: ▉▋▊ ▋▄▌ ▋ ▇▄:▄▅:▌▆ ▋▍▇▍ +▇▅▊▉
▇▉▄▅▇▅▉▆▍█▇ ▋ ▌▌▊▋▊▄ ▇▍▍▇▌▌▌▌ ▇▆▊▆▌▊▋▊ ▆▅▊ ▉▊▊▆▄
▄▉▋▅█▍ ▇▉▇▇▋▊▉ ▍▊ ▅▇█▋ ▇▉▊▊ ▋▄▆▉█ ▄▄▇▊▋▌▆▇▄▊██▌
▄▍▉▌▄▅ ▆▉█▆▅▍▍▉█▍▄▄▆▇▍▉▇▍▅▍▊▊▆▄▊▄▆██▋▅▌▄▄▇▌▊▌▅▊
▌▇▌█▍▊: ▆▅▍▉ ▉▉▋▅▉▊▆ <▇▉▅▊@█▄▋▌▅▄▅▄▄▌▉.▌█.▄▆>
▌▌▅▄: ▌▄▉ ▍▅▉ ▅▍ ▉▊:▊▆:▆▄ ▍▇▇▄ +▊▋▉▄
▅▌▊ -▄▋▆▄▆▌ █▆█▇▊▍▄ ▉▆▄▅ ▉▇█▉▆▌█▊▍ ▋▆▇ █▋▍▊▆▄▌
▍▌▇▌▆▄ ▌▊▇█▆▉▇▋█▉▌█▅▌▍▋▇▆▄▅▍▍▊▋▆▌██▅▆▆█▆▉▇▅▅▅▋▆
▌▉▄▅▄: ▅▅▆▍▅▉▄▋▄▄ ▌▄▊▆▇▄▍▊▅▆
▇▆▉█▋▊: ▅▉▌▇▇▍█▊ <▄▋▆▉▄▋@▆▊▅█▉▅█▍▇▅▌▍▌▍▊▍.▉▌▅>
█▇█▍: ▊▊▌ ▊▍▅ ▊▌ █▉:█▄:▊▄ ▄▌▊▅ +▆▆▊█
█▅█▍▅ ▅▇▇▉▇▋ '▋▉▋▊▉█' ▋▊ ▇█▇█
▍▄▌█▍▉ ▆▅▆▆▆▆▋▅▄▄▉█▄▄▄▆▍▉▆▆▅▊█▊▆▍▅▋▉▍▆▊▇▌▆▆▉█▆▉
▌██▊▄▍: ▇▇▇▊▄▇▆▋ <█▉▊▊▍▆@▅▄▉▄▌▍▄▆▋▌▋█▆▋▇▋.▆▋▉>
▇▊▋▇: ▍▌▌ █▊▇ ▊▉ ▍█:▄█:▌▌ ▇▌▅▌ +▄▉▉▌
▉▄██▋ ▇▌▄▊▉▇▋
- ▊▅▍▉▇▍▄▆▌ ▍▆▇▉▌▌ ▌▇█▉▆ ▌▄ ▆▌▍▆ ▊▇▋▌▌ █▄ ▅▆▆ ▍▊█▅█▆▄
- ▊▌▅▌▌ ▉▍▋▅▄▅ ▌▉▍ ▅▉▅▆▋ ▉▍▅ ▋▆█▉▊▍▋▍█ ▋▉▍▊▍ ▋▇ ▋▋▋▅▊, █▍▆▋▇▌▄▇ ▍▊▋▅█▄▍█▇/▌▄▄▆▉ ▇▆ ▊▆▅ ▋▋█▍
- ▌▌▉▇ ▆▅▌▇ ▄▊ ▊▉▄▌ ▌▆▌ ▌▌█▌ ▊▅█▌/▊▍▄▄▊▇▉█
- ▋▍▆▍▋▊▇█/ ▉▍▇ ▉▄▆█▋▍▆▌▍▄
▄▅▋▅█▉ ▅▋▆█▆▄▄▇▍▉▇▅▅▉▄▇▊▋▌▋█▉▇▅██▊█▊▋█▋▆▄▆▊▇▉▄█
▄▌▉▅▊▄: ▊█▍▋█▄ ▆▊▅▊█▅ <▍▌.█▉▋▅▅▉▍▅@▇▇▄▅▊.▇▋▉>
▍▅█▇: ▋▆█ ▍▆█ ▉▉ ▍▊:▆▅:▉▆ ▄█▅▇ +▄▄▅▉
▅▉▋▇█▌▍▊▊▆ ▊▊▄▆▄▌▌ ▊▄█▆▊ /▅▌▊▇▇▇/▇▊▅▇▆▅▅/
▍▅▍▄▊▊ ▆▄▍▉▌▅▋▇▇█▇▄▋▇█▇▌▋▄▉▊▆▍▅▆█▌▅▅▊▍▊▇▌▍▊▆▇▋▅
▉▍▄▅▋▇: █▌▋▉ ▆▆▍▅▍▄▄ <▋▆█▇@▊▅▊▉▋▋▍█▋▅▉.▍▍.▍▊>
▅▌█▍: ▍▄█ ▊▇▋ ▊▆ ▌▍:▊█:▄▇ ▌▍▌▇ +▉▍▉▉
▇▄▇▊▆▄ "▅▇▌▅ ▇▇█▆▆█ ▇▌▄█▅▉▄▊ ▉▊▄▄▋▋▆█▇█ ▊█ ▆▊█▊▅█▄ .▉▅▋▌ ▉▊ ▇▄ ▋▍▅█▌▍"
▋▅▉▍ ▄▉▄▌▌▍▄ ▉▌▆▊▇█ ▇▊███▋▌█▇█▋▉▉▆▄▌█▉▉▌▊▄▌▄▋▇▌▌▄▌▅█▇▉▋▋▇▉▆▇.
▋▉▋▅▇▇ ▇▊▄▊█▊▅▉▋▆▋█▋▅▍▍█▉▆▆▅▄▉▆█▍▆▅▄▅▇▋▊▇▍▅▌▇██
▇▌▋█▍▌: ▋▅▇▌ ▅▅▌▄▅▆▅ <▋▆██@▍█▊▍▄▋▇▅▋▄▄.▄▌.▍▆>
▇▄▆▉: ▅▄▋ ▆▍▅ ▍▊ ▆▋:▄▄:▅▍ ▄█▇▄ +▉▍▄▇
▄▊▋▄ ▅▍▄▌▍▄ ▉▊▇▇▅▆▊▋ ▅▅▅█▊▄▍▅▌▉ ▌▆ ▉▇▉▋▄▅█ .▍▄▍▉ ▇▋ ▄▉ ▉▊▊▆▅▇
▋▌▍▆▉▍ ▋▅▄▅▉▄▋█▆▅▉▆▍▋▋▋▅▉▌▊▊█▇█▅▆▋▌▌█▉▉█▆▋▋▄▋▄▇
▍▉▇█▅▇: ▇▇▊▍▊█ █▌▇▆▋▉ <▄▆.▆▌▊▋▉▍▌▋@▄▍▋██.█▋▄>
▄▍▇▋: ▍▇▆ ▌▌▅ ▅▉ ▍█:▄█:▊▌ ▄▅▌▊ +▌▅▉▊
▇▊▆▆▍ ▍▅▆▆▌▆▆▇ ▌▊ ▌▍█▌▆.
▋▉▍▇▋▊ █▉▅█▄▆▆▇▄▉▊▊▆▆█▊▆▅▆██▅█▄▊█▆▇▌▋▊▌█▆▉▊▄▋▋▄
▄▍▌▄▅▇: ▆▊▌▄▇ ▋▅▇▅▆▅ <▅▋▊▍▍█▇▍▋▅▍@▊▋▊██.▆▇▉▇█▌▇.▆▊█▋▇▌.▋▄▄>
▆▉▍▄: ▄▄▅ ▉▉▅ █▅ ▆▍:▄█:▍▇ ▍▄▊▌ +▊▇▇█
▇█▋▍▄▍▄▍█▆ ▋█▇▅▆ ▍▌▆ █▆▍▊█ ▆█ ▉▌▄ ▇▇▌▉ ▊▊▋▋▌▉▅█▄ ▇▉▋▋█▍▋
▌▋▄█▌▅ █▊▍███▅▄▉▄█▅▌▋▇█▅▆▅▍▅▊▅▋▉▄▊▄▆▊▇▇▋█▅▄▋▇▅▊
▆▄▋▉▆▊: ▊▅█▇▉ ▋▇▌▍▋▉ <▆▌█▌▄▋▌▊▄█▇@▊▆▋▋▅.█▋▅▌▊█▍.██▊▍▅▉.▄▌▉>
█▉▉▉: ▊▌▆ ▆▍▌ ▅▅ ▆▉:▅▉:▋▊ ▌▅▋▌ +▍▋▍▄
██▌▊▅▄▊▌▆▋▆ ▆█▊█▍▍▌
▆▋▅▌▉▇ ▇▍▅▊▋▉▊▋▉▊█▌▇▆▋▅▉█▇█▇▉▅▆▋▌▍▅█▆▌▉▌█▇▅▌▄▄▊
▅█▋▌▆▊: ▉▋▄▅▅ ▋▉▅▄▌▋ <▌▌▍▊▉▆▇▋▌▍▍@▍▉▆▉▇.▊▇▌▋▆▄▄.▆▅▄▇▄▅.▍▋█>
█▇▄▅: ▅▄▊ ▆▇▅ ▇▊ ▊▌:▉▍:▊▇ ▌▌▅▄ +▉▌▋▊
██▍▇▉▍▅ ██ ▅▆█▆▊▊▊█▅▋▇▉
▇███▌▄ ▍▇▇▌▅▇█▉▅▆▄▉▇▉▆▇█▊▅▄▆▅█▊▇▅█▅▄▄▉▌▋▌▆▄▅▆▄▅
▌▄▉█▇▉: ▇▌▇▄▄▋▆▌ <▌▌▍▋▉▄@▍▇▉▅▋▅▌▉▇▅▆▅▊▄▆▆.▉▍▆>
▋▋▉▋: ▄▍▋ ▊▌▍ ▇▅ █▋:▍▅:█▉ █▊▅▋ +▋▉▆▌
▌▄▅▊▊▇▍█▋▆█ ▉█ ▅▍▉▍▉▍▄▌ █▊
▍▋▊▄▇▅ ▄▍▍▉ ▆▅▋█ ▆▇▄▅ ▍▄▋▋▍▄▇▋▊ ▋▆▊ ▅▍ ██ ▆▌▍ ▆▊▇▊▆█▄▆ ▍▆▅▊▅▌ ▌▌ █▍▅ ▌▊ ▋▉█▆▋ ▇▇ ▆▋▆▅ ██▌▉ ▊▇█▇▌▌ ▇█ ▉▄▄▋ ▇▅▄█▅▄▆█ ▄▌▇▉▅▋.
▍▆▍▍▆ ▋▄▆ ▅▄▉▌ ▍▌█▄▍▆▊▉▍.
▄▊▋▄▇▅ ▇█▌▍▌▅▅▌▄█▉▋▆▊▄▄▍▍▇▄█▄▍▌▅▌▉▋▍▊▆▍▍▊▊▌▆▅▊▊
▌▄█▊██: ▇▍▌▄▋ ▌▋▆▋▇█ <▍▋▄▉▇▌█▆▊▌▊@▍▆▋▋▆.▊▆▇▊▇█▊.█▊▌▍▌█.▅▊▍>
▇▇▆▇: ▊▄█ ▅▍▇ ▋▊ ▋▍:▊▆:▍▉ ▅▄▇▋ +▅▉▄▉
▍▉▍ ▉▌█▅▋▊▍ ██▊▉ ▋▆ ▊▄▊▄▋▋, ▆▊▌ ▍▄▊▉▉▆ ▋▆▅▅▍/▅▇▉▇█▍▆▋ ▌▉▍▉▆▄▅ ▄▍
▍▌▆▆▇://▋▍▇▉▅.▅▊▋▅██▌▄▆.█▇▊/▋█▉▌▇/▍▉█▉▇▅▋▆-▆▌▊▌-▊▊▍▍-▋▅▄▄-▇█▅▇▍▌▊▊▇▄▋▋.▉▇▍
▌▄▊▋█▍ ▍▆▉▆▆▉▌▇▋▄▇█▋▄▉▇▄▉▉▉▅▍▆▄▍▆▇▋▄▌▅▇▉▅█▆▉▅▊▇
▋▆▉▄█▆: ▌▆▇▉▄ ▅▆▍▋▍▍ <█▆▍▆▄▇▍▌▍▍▉@▊▇▋▍▌.▅▋▍▇▅▊▊.█▄▇▉▌▄.▅▊▇>
█▆▅▌: ▋▄▋ ▍▊▅ █▇ ▆▊:▍▋:▄▆ ▄▅▌▊ +▋▌▉▉
▅▋▋ ▅▌▌▆▆ ▆▅▊ ▄▅▄▄▄ ▊▄▅▇▅▇█ ▌▋▋▄██▋█ ▆▇ ▅▍▍ ▅▉▆▊▄▄█▌▄
▄▅▍▅▌▍ ▋▋▅▇▋▆▍▇▅▌▌▋█▊▇▋▍▅▄▌▅▋▉▇▅▍▉▋▋▊▄▆▊▋▊▉▅▌▅▊
▆▅▅▋▅▇: ▄▅▋▆▅ ▌▅▍▌▄▅ <▌▆▌▋▆▊▉▋▉▄▊@▄▌▊▅▍.▇▊▍▉▋▅▌.▍▇▍▉█▆.▅▊▍>
▉▇▆▊: ▇▍▍ ▉▊▄ ▉▆ ▇▅:▍▊:▍▌ ▋▇▍█ +█▋█▌
█▆▅▄▉██▋██▇▉▉ █▊▇▍ ▋▉▉▊▅▄ ▌▉▇ █▇▍▄▍▉▅ █▉▋█▊█▅ ▌▉ ▋▉▆█▆▇▊▉▉ ▊▅▌ ▆▆▅▆▉▅▄▅ ▋ ▇█▌ ▇▄▌
▌▌▇▆▇▋ ▄█▉▊▄▅▄▊▇▉▇█▇▆▆▊▆▅▇▅▊▋▇▄▇▄▅█▋▋▆█▋▅▆▌▊▉█▄
▍▉▇▋▅█: ▄▌▊▆▉ ▆▌▆▄▆▄ <▉▆▄▍▊▌▊▇▍▊▅@▄█▄▋▋.▇▆▅▇▊▍▍.▄▇▌▉▅▄.▉█▅>
▍▋▄▆: ▇▄▇ ▊▋█ ▆▋ ▌▌:▅▆:▌█ ▉▄▌▌ +█▊▇▍
▊▋▇█▆█▅.▄▄▊▍█▇ ▆▌▉▊▅'▊ ▅▅█▊▆ ▇▉▍█ ▆▅▇█▍ ▇█▉▇▇ ▅▌▊▋, ▌█▇ █▅▇▅▇▆ ▇▍▅ ▋▅▅▅▅ ▋█▋ ▋▍▇█, █▍▋▇ ▅▆▍▌▉█▊▅ ▌▌▇ ▊▆▍▌▄ ▉▌▉▆█▆▅ █▇ ▌▄▌▅ ▍▄▆▉▌▅▍▇ ▄▉▇ ▉▍▆▆▇ ▋█▋
▄▇▍▉▇█ ▌▍▄██▊▇▋▄▍▌▅▅▇▌▌▊█▇▅▋▉▍▍▄▊█▆▋▌▄█▌▄▄▆▌▌▊▌
▍▌▌▇█▆: ▊▄▍▆▊ █▆▅▋▇▍ <▅█▌▆▅▍▆▍▇▆▄@▇▉▄▋▌.█▅▍▊▊█▌.▍█▆▉▅▉.▆▊▇>
▊▇▊█: ▋▊▌ ▌▊█ ▅▍ ▊▊:█▅:▌▊ ▋▍▌▊ +▆▊▊▍
▌▌▇▄▇▄ ▊▊▊ ▅▇▇▄ ▋▇ ▄▄▆ ▇▌▆ ▋▌█▇
▍█▋▉▍▅ ▍▋▌▌▍▉▉▄▄▇▍▍▆▌█▊▄▊▋▊▍▇▋▊▄▄▍▋█▉▌▅▋▄▇▉▅▍▇█
▉▆▆▉▆▋: ▉▉▌▆█ ▄▋▇▅▊▍ <▅▋▍▊▋▉██▌▆▅@▉▍█▅▆.▆▅▋▄▆█▇.█▇▍▅▅▋.▇▇▍>
▊▉▍▅: █▌▋ ▊▌▄ ▇█ █▄:▌▋:▇▌ █▆▇▊ +▋▋██
▆▋█▆▊▉ ▍▆▌ ▇█▍▌
█▇▅▅▆▄ ▌▄▇▄█▌▍▌▄▉▄▌▆▋▍▉▄▆▉▇▌▉▆▅▉▆▇▄▄▍▆██▋▉█▍▊▍█
▋▋▌▊▌█: ▆▆▌▌ ▇▍▊▌▆▇▌▅ <█▅█▍▋▅▆@▊█▉▆█.▊▇▆>
▄▊▄▊: ▉▇▅ ▄▅▅ ▆▉ ▇▋:▉▉:▅▊ ▋▅▌▄ +▌▍▊▇
▅▍▋▄ █▅▄▊▉▆▅▊▆▌.▇▅▆▋ ▉▊▍▌▌▍
▄▌▍▅▇▄▌ ▅▍▅ & ▅▆▆▅ ▋▄▉▊▅▇▇
█▇▍▌▋▋▄ █▄█ ▇▅▋▍ ▉▅▌ ▆██▍▋▅ ▊▅▌▅▄
█▄▆▊▉▉▉ █▄▆▊▇▌▋▍▋▌▅█▅▅
▌▊█▊ ▍█▋▆▆▋ ▌▉▍▍▄▅▊▉▅█▅
▅▊▊▅▊
▆▌▇▋ ▄█▍▍▉▇▌▍▊▅▋ & ▅▋▉▌▋ ▌▋▌▉▆▉▆ ▋▍▋▄▌▉▇
▅▍-▍▉▋▇▉▄, ▇▊▇▊▍▍▊, ▄█▄ ▋▇▋█▍ ▌▉█▅▆▍▌ ▆▄█▆▄▋
▆▆▌█▅▋█ ▅▆▊▉▆▄▍ ▇▍▄▅▉▊, ▄▅▍▆▆ ▇▅██▆▆▊▍▌▌▅
! ▆▆▅▍ ▄▋▉▍▌▍▆▍▉▆ & ▍▆▋▇▋▅▆ ▉▆▌▊
! ▍▋▍▇▍ ▇▅ ▅▅▋▋ & ▄▉▊▆▉ ▄▇▇▄
! ▅▍▅▇ ▍▍▊▅▋▍▋ ▄▇▇▄▄▊▉
! ▍▉▅ ▌▇▉▆ ▆▅▋▉▉
! ▅▅▍▌█▄▊ ▊█▄▋ ▄█▆▍▋▊▆▉▆▍, ▉█▋▍ ▇/▉, ▉▄▋▋▌ ▉▅▋▉▄▉▌ ▄█▄▄ ▍▌▅█▅▉█▉▍ ▅▇▊▉▋▆▌ ▅▉▄▉▋▆ ▌█▆▉ █▊▅▇▉▋▍██▌ ▋▍▇▄▊▅▋▋
! ▆/▉ ▅▋▌▊▋
! ▉▇█ ▇/▊/▄
! ▋▅▊ ▅ + ▌▇▊▊▉ ▋▄▆█ ▅▆▅▄▍▉▉
! ▄▆▋ ▇ + ▋▌▉▉▍██▅▌▋ ▄/▌/▋
! ▌▋▋▅, ▄▊▋▄█▇ █▉█▇▉, ▋▅▄█ ▇▇█▄▌▄▊▅▆ ▍█▋▄▇▇, ▅▅▌▇▄▉▍▆
! ▆█▄▍▉▄ ▌▇ ▋▋▉███▋▍▄▇▉ & █▅▄▊ █▅▄▆▇▍▋▄▍
! ▇▄▅▉▋ ▄▅▄▇▉-▊▄
! ▉▍▍▊█▍▆▊▄▉ ▅▅▋▊▌▉ ▌▉▇▄▋▊▄▇▇
! ▅▅▍▆█ ▄▉ ▇▊▌▆▄▉ ▍▄█▇▍▌▍▍▌▅ ▆▉▅▌▆ ▊▆▍▌▉▇▆ (▋▇▇▉█ ▉▋▄▋▊ █▆▉ ▇▉ ▇▊▆█▇▇ ▍▋▊▆▆▇▋▇▍▇ ▉▆▋ ▆▅▄)
! ▇█▇ ▆▋▇▊▅▍ ▇▌▄▍▆ ▊▄▄ ▍▌▉▋-▆▆▆▄ ▊▋▆▍▄▋▄█
! ▆▆▌▅▄ ▉▊ ▄▉▇▌█ (▊█▋▋)
! █▆▌█▉▇▅ ▆▄▅▅▉ █▅▌▉ ▋▊ ▊▍▋▍ ▍█▅█▅▌▇ ▋▇▆▄█▉
! ▌▍▊▌ ▍▅▉▄ ▍▇▄▊▇█▆
! ▊▍▋▌▍█ ▆█▆ ▄▅▆▌▆▌▌ ▉▍▊▄▊▅ ▌▊▋▆ ▌▄▄▅ ▌▌▇ ▅▅▇▉ ▅█▄▉ ▉▇ ▋▌▌▋▋▄▉█▊ ▊ (█ = ▊▉▅▄▅, ▋ = ▊▆▇▅ ▆▇▍)
▉▍▉▍▉▆ ▋▅▆ ▇▉▇▆██▆ ▍▄▄▍▇▇ ▆▌▋▉ ▇█▄▅ ▌▊▇ ▆▄▄▅ ▌▋█▆ ▄▌ ▅▍▆▊▍▅▇▌▇ ▆ (█ = ▅▅▊▋▆, ▄ = ▌▇▅▄ ▉▍▄)
You hear a noise from inside the crate...
▌▌▊ ██▅▊▊█ ▋▇▍▇▌ ▉▌▄ ▋▌▆█-▊▅▇▄ ▄▇▅▄▉▆▋▉
▇▉▍▆▍ ▆▅ ▅▆▇▊▅▋ ▇▌▆▊▅▌▌▆█▍ ▄▍▇██ ▌▋▌▉▅▄▆ (▊▉▇▇▍ ▅▌▆▆▋ ▆▌▌ ▇▇ ▍▋█▌▉▍ ▊▍▇▊▋▋▇▉▉▅ ▍▊▄ ▅▋▆)
▌▆▆▄▉▇▋▊▅▄ ▍▇▄▋▅▊ ▅█▌▉▅▅▋▊▌
▋▊▌▉▊▊ ▌▊ ▍▆█▌▊▋▋▇▇▆▋ & ▋▌▊█ ▍▊█▌▊▍▇▋▋
▆█▅▇, ▅▋█▅▌▌ ▋▄▍▆▄, ▋▍▊▋ ▇▋█▆▊▉▋▄▄ ▋▉▇█▉▍, ▍█▅▊▊▊▄▋
▍▋▍ ▍ + ▍▋▆▅▌ ▍▍▉▍ ▌▌▋▅▋▇▅
Add SceneObject.Batchable, for situations where dynamic attributes affect rendering
Delete unused shit from lightinglib
Add SceneSunLight.SkyColor for ambient light color outside of light probes
Compute ambient light spherical harmonics when there's no sunlight using scene camera ambient color (this allows cubemaps to show up without sunlight)
Add SceneCubemap, allows cubemaps to be applied in scene worlds
Add a default cubemap texture
Add cubemaps to menu scenes so metallics have a bit of reflection
Remove some unused functions from IPrediction
Remove create_flashlight native command
Fix nav_edit, grab eye pos and angles from pawn aimray
Remove some unused player netvars
Add MorphCollection.Get to get override morph values
Remove vwrlt and vwenvmap asset types, these don't exist
Recompile old maps toolscene_lighting_studio and error to fix compiler missing warnings
ModelDoc: Don't allow base model to be set as itself
Animgraph: Basic support for anim event preview (only playsound and stopsound)
Merge branch 'master' into sausageman-sucks
▍▇▊▄▍▄█ ▄▊▉▍ ▋▄▄█▉▉▊▅▌▄, ▅█▇▌ █/▅, ▄▊▌▍▅ ▆█▊▍▅▅▋ ▋▉▊▋ ▆▄▊▋▌▇▅▋▌ █▅▅▋▍▆▅ █▌▇▇▌▉ ▋▉▊▇ █▇▇▍█▇▇█▅▇ ▆▊▆▋▉▄▅▋
Editor: Fixed not being able to upload maps to asset.party
Merge branch 'master' into sausageman-sucks
▄▆▍▉█ ▊▄ ▉▄▋▉ & ▇▊▅▋█ ▋▊▊▋
▅▆▄▌ ▌▌▇▍▍█▍▄▍▆ & ▌▌▉▅▅▅▍ ▌▄▅▅
Updated default outfit, added weightlists
Re-rigged, renamed, and moved default outfit
updates props
- disabled baking light on some models in prefabs
- tweaked lods
- fixed normal on some textures
- added missing dirt/gloss on dead end texture
- tweakes glow on some light textures
Merge branch 'master' into sausageman-sucks
Anim constraints & other various updates
Make a copy of an Entity's components before clearing them out, fixes collection modified error from deleting a component from within another component.
New Hair! - Goatee
New Goatee including morphs - LODs coming soon
https://files.facepunch.com/daniel/1b1511b1/sbox-dev_9jZfUNzaCg.jpg
Pass depth buffer to translucent pass for glass
Add Tex2DMaxMSAA
Fix ghosting on glass when something is in-front of blurred glass
Roll back support for SpawnMotionDisabled prop data
Delete SpawnMotionDisabled altogether, prop data should never be deciding this
Fixed uploading runtime addons not working
Don't destroy model strong handle on reload for now
Better fix for model reloads
Failing test involving resolving method with namespaceless parameter
Fixed resolving methods with namespaceless parameter types
Use namespace alias operator in hotload tests
Goatee small adjustments + colour variations
Added Prop SetStatic input
Hammer: Asset Spray tool colors
https://files.facepunch.com/rubat/1b1511b1/sbox-dev_DJuBUU3yWI.mp4
Merge branch 'master' into sausageman-sucks
This is faster without the parallel
Add benchmark project
Induce a tools hotload swap after game hotload - for the sakes of consistency
This was happening anyway, just at a random point
Make matt's amsi patch default (-amsi to disable)
vacuum => vacuum cleaner
Added ISet/HashSet property editor
Clean up visuals of Dictionary property editor
Rubikon: capsule vs hull/mesh improvements from Dirk
Cleanup coreclr patch a bit
Strip xbox code from filesystem
Strip all this whitelist bullshit from basefilesystem
Fix strong handle leak in Model.Get( IModel ) - you could get ref counts on a model resource over a million from 5 minutes of gameplay
Fix strong handle leak on Material.Get( IMaterial ), ParticleSystem.Get( HParticleSystemDefinition ), AnimationGraph.Get( HAnimationGraph )
Model.Loaded uses WeakReference to not keep models that have no references loaded
New Outfit Piece! - Flat Shoes
Simple nice flat shoes - https://files.facepunch.com/daniel/1b1411b1/sbox-dev_I8fdIZ9f6K.jpg
Adjustments + Reskins coming asap.
Sorted out some XML documentation warnings
UI2: Fixed length parse fail for ending parenthesis, fixes "lighten/darken(#fff, 20%)"
Added more ColorParse tests, darken without spaces, and darken( mix )
Balaclava Morphs added
Police Hat LODs
Game keeps recompiling these surface_c files on my end
Added RangedFloat editor that respects MinMaxAttribute
FloatSliderProperty.HighlightColor now has an effect on the slider
Improve DecibelsSlider behavior with tiny sizes
Failing async method test
Better support for parsing generated names with generic parameter count
Hotload generated name refactor, fixing async state machine types
Fixed VarClass sometimes getting stuck rebuilding every frame
NeedsRebuild was getting set to true during the rebuild, so it'd keep doing it every tick
"What's all this, then?"
Merge branch 'master' of sbox
UI2: Fixed bug introduced by my length parse fix, where border-image style would fail
Add SetBorderImage test so that can't fall through the cracks again
Merge branch 'master' into sausageman-sucks
"What's all this, then?"
Merge branch 'master' of sbox
Game keeps recompiling these surface_c files on my end
This leafiest asset stuff isn't used anymore
When registering custom asset type assets, register the compiled version too - which stops it thinking they're not compiled
If imported GameResource isn't compiled then compile it
Fixed passing in wrong name to RegisterResourceReference (might not be a bug but it looks like one)
Don't group identical console messages with different loggers
Failing test for lambdas declared in non-swapped generic methods
But with swapped type parameters
Fixed test in 8a2bb255285d1e47c1314b70cd47f5ef92a2b21d
Log error when encountering unhandled generated types
Merge branch 'master' into sausageman-sucks
Merge branch 'master' into sausageman-sucks
Updated rig with new helper bones
Made DamageInfo.Tags public
Remove log tags
Remove the rest of the log tags
Texture.Update doesn't crash with wrong sized data, can update the first mip only, will generate the other mipmaps if only updating the first mip
SkiaTextBlock will update the texture instead of disposing and creating a new one
Add names for other runtime textures to aid debugging
Add logging menu to editor, can switch Trace/Detailed logging on
https://files.facepunch.com/garry/88a623bf-7fcd-4245-bf05-13ae6da6f5d9.png
Adjustments to Clothing AO
Pretty much just been adjusting the ao in the material editor so the AO shows up abit more nicely on some clothing pieces.
Crate has been delivered.
Logging in CompileGroup
TypeLibrary logging
Diagnostic event for start to end code iteration timings
Taken delivery of crate.
Only create resource dependency on texture .meta if it exists
Revert "Only create resource dependency on texture .meta if it exists"
This reverts commit 55e57df69e0f6335962a5923ef956b658e9e7393.
Recompiled content under /addons/citizen/
props updates
- disabling baking light on some asset in the prefabs
- moved aircon and trash bin breakable piece to embed, adjusted placement/pivot of the gibs
- dirt pass on dead end road sign/material
- collider/ Lod adjustment
Merge branch 'master' of sbox
Add -noamsi command line parameter for testing
Implemented a simple assembly resolver for Tools
Allows hotload to make more valid substitutions
Cleanup
Failing hotload tests for lambdas in static constructors
Fixed finding scope method ordinals of static constructors
Stop expecting every method to have a scope ordinal
Fixed IsMatchingType(typeRef, type) with nested types
Fixed ResolveMethod() with a static constructor ref
Fix upgrading lambda display class instances that are found in the wild
GetNewType consistency
Now returns null to mean a substitution couldn't be found
Added failing generic delegate test
Organised and documented delegate hotloading tests
Fixed AreEqualTypes when exactly one param is null
AreEquivalentTypes(old, new) refactor
Fixed finding substitutions for generic parameters
Only add events on retail
Don't hotload/etc compiled assemblies that we've already hotloaded
Client only reload assemblies that have changed
No need to re-verify assemblies that we've already verified
Parallel thread .cs reads
Cleaner Generators
Clean compilegroup/compiler thread stuff
Entity.FindByIndex<T> just return null if can't cast to right type
Fix test
TypeLibrary hunch speedups
Don't do GC during server addon loading
Include editor sounds so everyone gets annoying compile sounds
Hotload manager use its own logger
Include compiled shaders on server
Disable AC optimization (it's not filling the resolver in propertly)
Fix package selector property not saving or updating
Don't pass #local packages to GameSupport
optimized shader build
Fix crash when fetching object bounds too early
Fix water reflections renderbounds so it doesn't take the size of the entire map
Switch @visibility to @internal - because afaik it's the only visibility that makes sense + add unit tests
Merge branch 'master' into iteration-speed-sucks
Order the syntaxtrees before giving them to the compiler, because hotloading is going to want the names of things to be as close as deterministic as possible
Fix compile notifications popping up on boot
Fix compile notifications appearing on the top left of the screen for no reason
Not using it, but can at least fix SetWindowNoActivate
Merge pull request #688 from Facepunch/iteration-speed-sucks
Speed up code iteration time
Aggressively clip water reflections to prepare for SSR
Merge branch 'master' into sausageman-sucks