3,309 Commits over 945 Days - 0.15cph!
Fix menu option for "numbered pins" being incorrect
Fix pins starting at 0 instead of 1
merge from qol_map_marker_num -> main
Add to options menu
- add support for the dropdown options menu to display text or a color
- will show "Random" or the color of the map marker
Markers now default to a number as their name (0,1,2,3,etc)
- can toggle behavior with `map_marker_autoname`
- can specify the default color for map marker with `map_marker_color` convar
- -1 = random, 0 = yellow, 1 = blue, 2 = green, 3 = red, 4 = purple, 5 = cyan
https://files.facepunch.com/jakerich/Xy99wr6maG1h/g9nPKC3XjPA2WYIf.mp4
merge from military_tunnels_nvg_outfits -> main
Add NVG outfit loadout onto all scientist spawners so military tunnel scientists spawn with NVGs
- only an appearance change: same health, loot & weapons as before
Add loadout for NVG military scientist outfit
Add ability for loadouts to override only certain containers
- replace the items worn without stripping all items in the inventory
merge from fix_quarry_animator_lod -> main
Apply same LOD change to deployable quarries (even though they aren't used in gameplay)
Merge from fix_quarry_animator_lod -> main
S2P pumpjack monuments (trainyard, powerplant, water treatment)
Commiting prototype instanced rendering that piggybacks off normal CPU batching system
- hooks into normal batching system
- uses normal occlusion culling system
- instead of adding meshes to CPU batching, pushes meshes into arrays to be instanced rendered
- uses Graphics.RenderMeshInstanced() which is slower due to copying to GPU every frame
- currently same rendering speed as CPU based system, however can be optimized with multidraw & command buffers
- convar `batching_instanced_mode` switches between CPU rendering and instanced rendering (to compare)
merge from fix_quarry_animator_lod -> main
Fix mining quarry and pumpjack only showing their animation up to 100m away
Merge from cctv_shoot_disable -> main
Show different text on computer station when camera is disabled
- "No Signal" = incorrect camera code or camera destroyed
- "Weak Signal" = camera disabled
Add extra box collider to deployed camera too since it was only taking damage from the base stand of the camera
Disable deployed cameras from being disabled while shot
Add extra collider to static CCTV camera so it can be shot better
- add static effect to the camera prefab itself
Disable static CCTV cameras in monuments when they take damage
- default duration 5 minutes (convar `camera_disable_seconds`)
- 95% static effect when disabled
- can still hear audio when camera is disabled
- static effect around camera when disabled
Merge from brzone-blending -> main
Merge from copypaste -> main
Add ability to snap pasted entities to the terrain
- will search based on foundations only
- snap entire build to single height even if it overhangs the ledge
- convar is `paste_snap_terrain`
- can use `paste_height_offset` to control height offset after paste
Add more filters
- `paste_deployables`
- `paste_building_only` (only building blocks)
- `paste_foundations_only`
Add `copybuilding`
- will copy every building block & decay entity of the base you are looking at
- won't copy non-decay entities
Add `downloadpaste <url> <name>` command
- default to using the filename in the url
- can override name if it is going to overwrite the paste
Add `renamepaste <old> <new>` and `deletepaste <name>` commands
- allows you to rename pastes after you download or want to reorganize
- can delete if needed too
Add `upgrade_looking` and `skin_looking` commands
- same as `upgrade_radius` command but uses the base you are looking at instead of a radius around you
- easier way to upgrades in front of you
- will only search directly attached building blocks, won't handle external TCs
- add `GamePhyics.TraceEntity()` method to handle raycasting entities in editor and ignoring server / client entities
Merge from copypaste -> main
Cleanup & rename kill -> killbox (so it doesn't overlap with normal kill command)
Add ability to undo pastes with `undopaste` command
- only kills entiites you pasted (if you want to redo a paste, just paste it again manually)
Allow pasting directly from name
- `paste cars1` will load "cars1" and paste it while persisting current clipboard
Filter entities when pasting instead of copying (allows you to change filters after copying a single time)
- change convars from "copy_npcs" to "paste_npcs"
- filter entities that have no parent when pasting
- add option to filter vehicles
Add refresh button to the top of the era editor to refresh all items
- used if you change prefabs without using GUI
Don't show redirect items in era editor window
When checking if a redirect's era, use the redirects era
Set 600/1000 items to a sensible default era
Fix assets not being marked as dirty and not saving after being assigned an era (ask me how I know)
Finished era editor window
- tons of fixes to make it actually work
- show orange as background when item is unassigned to an era
Add era convar
Restrict items showing up in crafting menu depending on era
Work on era editor window to change item era easily (WIP because implemented on laptop)
Add tags to a bunch of items & assign era to a bunch of obvious items
Tons of changes to support working outside of editor
- code assumed only single instance per server
- now store parameters per client in client convars
- made client and server versions of each command
- client commands send parameters to server version
- added filtering for resources + foilage and npcs (default include everything)
- fix point entities not being filtered out
- split code into CLIENT and SERVER regions
Cleanup
Rename copy -> copybox so it doesn't overlap with client copy
Rename load -> loadpaste to not overlap with other load commands
Tags applied to items prefabs
Switch default era from None -> Unknown and add new "Any" era so we know what items are explicitly allowed in any era vs unassigned
Add tags for era to item assets
Every item reserialized after adding era field & updating asset tags
Improve item asset tags
- `workbench0` - `workbench3` depending on crafting requirement
- `craftable` for items that are craftable
- {Category}Item for item category (WeaponItem, FunItem, etc)
- `ItemDLC` for items that are dlc
- `ItemRedirect` for items that are redirects of other items
Add era field for items (none, primitive, medieval, frontier & modern)
- items default to "no era"
- items in none will show up in all eras
- items in lower eras will show up in higher eras
- no eras assigned to items yet
Fix copy paste
- now remaps every type of network id, fixing storage entities
- fixed building ID not being reset for new pastes
- refactored pasting code so it more closely resembles SaveRestore.Load()
- fixed rotation of pastes not always working
- save entities in order of network id so the pasting is more deterministic
- removed saving of entity ids in pastes because it's not needed
- change paste directory from EntityCopies -> copypaste
Merge from main -> copypaste
Add optional arguments onto `ddraw.text` command to modify distanceFade & zTest
Hook up accessibility color options