Commit Graph

5 Commits

Author SHA1 Message Date
MrMelbert 5146cfd403 Moves camera update handling to background subsystem, (maybe) fixing lag (#92208)
## About The Pull Request

When a camera update is triggered, it is instead added to a queue on a
background subsystem

An AI entering a camera chunk which is queued to update will force the
update immediately (bypassing the queue)

While the root problem of this is, ultimately, not addressed...

<img width="554" height="58"
alt="467828777-eff3f0e5-49d6-4997-b4d7-05eff6432155"
src="https://github.com/user-attachments/assets/c2d6a5f5-d958-463e-959f-116bd0dab475"
/>

...the change will ultimately prevent update spam from consuming all of
the server's resources - instead allocating updates to the backburner in
times of high server stress (or on multi-z maps)

## Changelog

🆑 Melbert
refactor: Refactored the way camera updates are handled to hopefully
reduce some lag. Report any oddities
/🆑
2025-11-08 01:43:48 +01:00
_0Steven 30993aa3f0 Fix holopad calls keeping off-camera turfs static even after you leave the call. (#91547) 2025-06-12 15:49:54 -06:00
Holoo d3a251abec AI multicamera mode fixes (#91105)
## About The Pull Request
Fixes https://github.com/tgstation/tgstation/issues/38307 
Fixes https://github.com/tgstation/tgstation/issues/77159
Fixes https://github.com/tgstation/tgstation/issues/80465
Fixes https://github.com/tgstation/tgstation/issues/85048
Fixes https://github.com/tgstation/tgstation/issues/90748
Fixes https://github.com/tgstation/tgstation/issues/78878

Fixes camera static being hidden in multicamera mode. Also fixes borders
not being drawn


![image](https://github.com/user-attachments/assets/4eae97b3-b8ac-42de-8cb2-36306f949b57)

## Why It's Good For The Game
Wallhacks bad
## Changelog
🆑

fix: fixed camera static not being drawn for AI in multicamera mode.
Also fixes secondary AI cameras not existing and gives them their AI
name

/🆑
2025-05-26 13:30:06 +00:00
tonty d3866d01f1 Moves and documents AI's definition (+ minor cleanup) (#88928)
## About The Pull Request

The AI's definition is big and unorganized, which makes figuring out
what does what really annoying, so I took the time to document and
organize the file

Some vars have been renamed to better communicate what they actually do
when reading code
Unused vars have been deleted:
* var/chnotify
* var/waypoint
* var/interfaceButton

### Misc changes:
The check to see if malf modules could be used was written incorrectly,
and therefore all malf modules could be used without cooldown. The check
has been fixed, so actions which used to have no cooldown should now

AI bot summoning was supposed to have a cooldown, but it was broken and
not implemented for basic bots. This has been removed instead of fixed,
since I found it was an unnecessary limitation for something so simple.

## Changelog

🆑
fix: Malf modules correctly use action cooldown (affects camera repair
and detonate RCDs)
code: Minor (extremely minor) AI code maintenance
/🆑
2025-01-15 13:37:54 +00:00
tonty d8450b4933 Camera eyes have been lightly refactored (among other things...) (#87805)
## About The Pull Request

* A generic /mob/eye/camera type has been made, containing everything
needed to interface with a cameranet
* /mob/eye/ai_eye has been refactored into a generic /mob/eye/camera
instance
* Advanced cameras no longer inherit from AI eyes, splitting off
behaviour
* Camera code has been somewhat cleaned up
* Probably some more stuff I'm forgetting right now

## Big man Southport:

![image](https://github.com/user-attachments/assets/de6e6ff0-ca99-4636-bdec-5e0b2d6b8037)

## Changelog

🆑
code: made /proc/getviewsize() pure

refactor: mob/eye/ai_eye has been restructured, now inheriting from a
generic mob/eye/camera type
refactor: advanced cameras and their subtypes are now
mob/eye/camera/remote subtypes
code: the cameranet no longer expects the user to be an AI eye
code: remote camera eyes have had their initialization streamlined
code: remote cameras handle assigning and unassigning users by
themselves now
code: remote cameras now use weakrefs instead of hard referencing owners
and origins
code: also the sentient disease is_define was removed (we don't have
those anymore)
fix: AI eyes no longer assign real names to themselves, fixing their
orbit name
/🆑

---------

Co-authored-by: Ghom <42542238+Ghommie@users.noreply.github.com>
2024-11-21 12:55:38 +01:00