4,510 Commits over 1,249 Days - 0.15cph!
Use list of spawn groups as the "name" of the puzzle being reset
- cache list of SpawnGroup instead of repeating the Vis.Components() each reset (since the monument + spawn groups will always be loaded before entities or the first reset could occur
- don't log puzzles with zero spawn groups, since any important puzzle will respawn some type of loot
Ignore some of the dummy puzzle resets by ignoring ones that don't check for players & ones that have infinity timeBetweenResets
merge from analytics_puzzle_reset -> main
Add analytics when puzzles reset
- how long it took before reset and how long players spent inside / blocking the puzzle
- log puzzle reset settings and monument of the puzzle
merge from modding_cui_merges -> main
Add Vector4Ex.Parse(), switch from Color.Parse() -> Vector4Ex.Parse()
- update Vector3Ex.Parse() to use TryParse() like Vector2Ex.Parse() (safe because the method is only used in one place in codebase surprisingly)
- add some comments too
Update from repo after merging 9 slice support
merge from main -> modding_cui_merges
merge from fix_arctic_puzzle_reset -> main
Fix compile error in new Translate.GetPhrase() server method
merge from main -> fix_arctic_puzzle_reset
Switch to new Translate.GetPhrase() when reassigning reset phrase
merge from main -> fix_arctic_puzzle_reset
Save extra properties added to puzle reset over the years to fix arctic research puzzles closing on players (and probably bugs with other puzzles too)
- CheckSleepingAIZForPlayers
- IgnoreAboveGroundPlayers
- BroadcastResetMessage
- ResetPhrase (token)
merge from analytics_texture_memory -> main
Expose texture memory usage in client analytics
merge from fix_entity_scale_occlusion -> main
Fix `ent scale` only accepting an int instead of accepting float
Fix not working when far away, call "ResetCulling()" on all LOD components as well as calling it on the entity having it's scale changed
- this should only be called on the client when the scale has changed so it won't reset culling on every single network update
Fix entity not being able to reset to 1 scale since it was ignoring default scaling size
- network scale every update if `networkEntityScale` is enabled
Fix entity scaling not updating the bounds & culling bounds of entities
- recalculate both the bound and the culling bounds
- reset the bounds inside ResetState() based on the original prefab so it doesn't cause pooling errors
Revert minimum mipmap level to 7
merge from fix_stability_cascading_updates -> main
Add optional logging incase it still occurs and we want to follow the logs to see what the source of the infinite stability updates is since it doesn't seem to repo when pasting the offending builds in the editor via copy paste
- convar `log_stability_updates (default disabled)
Try to fix infinite stability updates happening rarely on servers by not sending a stability update if the distance to the ground has changed but the stability is the same
merge from clamp_mipmap_reduction -> main
Decreased minimum mipmap from 3 -> 4 (250MB -> 60MB reserved for lowest level mipmaps)
merge from clamp_mipmap_reduction -> main
Clamp max mipmap reduction from 7 -> 3 (1/8th resolution) to match the lowest texture quality we expose in settings and prevent all textures from turning blurry when we run over our texture streaming budget
█▇▄▊▆ ▄▇▍█ ▅▋▅_▍▍▊▇▅▄▍▄▉█▇▋_▅▉▇▍_▉▌▇█ -> █▋▇▊
▌▄▇█▌ ▅▍█▇▋▄▇ ▆█▍▋▋▇ ▌▊█▅ ▅█▄▍█▇▆ ▄▄▅▄▋▄▊▄ ▌█▊▆▉▅▅▆
merge from fix_analytics_twig_cost
Fix wood spent on twig not included in analytics
merge from fix_turret_ddraw -> main
Remove ddraw left in when debugging
merge from main -> fix_turret_ddraw
merge from qol_scale_command -> main
Add `ent scale` command to test scaling of entities on vanilla servers
merge from modding_community_merges -> main
merge from modding_cui_merges -> main
Fix incorrect codegen (I tested for compile errors before merging but ok)
merge from modding_cui_merges -> main
Add BasePlayer to front of `DragRPC()` and `DropRPC()` modded server hook methods
merge from modding_cui_merges -> main
Expose ability to set scroll view normalized position
- horizontalNormalizedPosition
- verticalNormalizedPosition
Only allow spaces between padding to follow with how Vector2Ex.Parse() works
Merge layout group PR #75
Allow the other way around and let any graphic object declare itself as the placeholder
- a Text object sent after an InputField can define `placeholderParentId` with the ID of the input field to make itself the placeholder without having to ensure the child text is sent before the input field
Rename placeholder -> placeholderId
Add support for input fields to assign a placeholder graphic manually
- up to the server to ensure they send the placeholder text (or image?) before the input field is sent (can be same RPC, needs to be ordered correctly or will print warnings)