34 Commits
Author SHA1 Message Date
warriorstar-orionandGitHub 56f4960ed4 refactor action buttons (#29416)
* refactor action buttons

* fix cult spell charge overlay

* lewc review

* update for a/mhelp buttons and xenobio organs

* update for minebot

* properly create button each time

* directly add/remove unavail overlay for reasons

* lewc review
2025-07-28 19:13:28 +00:00
93ed0f096d Refactors AI / camera eyes and slows holopad holograms to walk speed (#25078)
* Refactor/deduplicate camera eye code

Camera Eyes previously had duplicated logic across several files. This
change uncooks the spaghetti. Additionally, half-baked support for TG's
multicam feature has been removed, as it was not functional or in use.

* lets ff now

* Camera Eye refactor fixes and finishing touches

This change completes a refactor of AI eyes, which were previously used
by xenobio consoles, syndicate and abductor camera consoles, shuttle
docking computers, holograms, and, of course, the AI. Duplicated logic
has been extracted to an abstract base mob, /mob/camera/eye, from which
new types for each of the above now derive.

Functionality is largely the same, with only a few minor cosmetic
differences (i.e. camera eyes are now appropriately named given their
type and user), as well as a quality-of-life enhancement for holograms,
slowing their movement speed to base run speed to prevent users from
accidentally zooming out of calls.

* Camera eye refactor: Fix AI acceleration toggle

The acceleration toggle was broken in the camera eye refactor, as
previously the boolean was stored on the AI rather than its eye. This
change fixes that.

* Camera eye refactor: Fix syndicate cam visibility

With the camera eye refactor, the syndicate advanced camera consoles
lost the ability to view maintenance tunnels and other areas without
active cameras, seeing static in their place instead (as all other
cameras do). This change reinstates the original behavior.

* Camera eye refactor: Convert spaces to tabs

* Camera eye refactor: Fix CRLF

* Apply suggestions from code review

General minor code quality improvements suggested by GDNgit

Co-authored-by: GDN <96800819+GDNgit@users.noreply.github.com>

* Apply suggestions from code review

Rename parameter names to avoid src accesses, remove an ambiguous and
unused mob_define and holopad range variable from a previous WIP, change
the for loop in /mob/camera/eye/relaymove to a for-to loop, and change
the chat message warning, sent when an AI Eye is created on an AI that
already has one, to a stack trace

* Adds toggle to AI commands for fast holograms

* Refactor ripped Hologram Eye relaymove

Previously, the relaymove proc for hologram eyes was redundant and
nearly impossible to read. It has been separated out into a few
different named procs, and has had its use of `spawn` removed.

* Remove unnecessary src access

* Fix bug involving shuttle placement outlines

The camera eye refactor that this commit is a part of introduced a bug
that prevented shuttle placement outlines from showing up on first use
of the shuttle console. This change fixes that bug.

* Unrevert some changes from #26306 lost in merge

* Remove erroneous free xray vision on advanced cams

* Autodoc camera acceleration vars

* Remove redundant null var initialization per code review

Co-authored-by: Drsmail <60036448+Drsmail@users.noreply.github.com>
Signed-off-by: asciodev <81930475+asciodev@users.noreply.github.com>

* Changed variables to camel_case, autodocs, cleanup

Changed a number of camera eye-related variables to camel_case style,
added appropriate autodoc comments, as per code review. Also removed an
unused cameranet function, modified the call signature of a cameranet
function to be more semantic, and changed a qdel-on-initialize in camera
eyes to return INITIALIZE_HINT_QDEL instead.

Co-authored-by: Luc <89928798+lewcc@users.noreply.github.com>

* Remove stray qdel(src) per code review

Co-authored-by: Luc <89928798+lewcc@users.noreply.github.com>
Signed-off-by: asciodev <81930475+asciodev@users.noreply.github.com>

---------

Signed-off-by: asciodev <81930475+asciodev@users.noreply.github.com>
Co-authored-by: GDN <96800819+GDNgit@users.noreply.github.com>
Co-authored-by: Drsmail <60036448+Drsmail@users.noreply.github.com>
Co-authored-by: Luc <89928798+lewcc@users.noreply.github.com>
2025-01-17 18:22:43 +00:00
warriorstar-orionandGitHub 0ffa8303a7 Rename all non-snake_case types. (#27268)
* refactor: Rename all non-snake_case types (not procs or vars (yet)).

* completely dynamic update script

* might help to include the data

* update aa's scuffed python

* oh

* set script PR number

* run updatepaths again

* Add other table updates with JSON columns

* bump SQL version

* just fucking end my life

* move JSON data
2024-11-30 19:08:45 +00:00
AffectedArc07andGitHub 163a325156 The Cooking Continuation (#26306) 2024-07-30 12:32:17 +00:00
GaxeerandGitHub 32e46c02aa refactor: rename action button appearance related variables and procs to be clearer (#25658)
* refactor: make action appearance creation more straightforward

* some adjustments

* fix: adjust action icons to refactor
2024-07-01 02:29:31 +00:00
9ae66dd496 You can no longer see hud / screen when asleep. DOESN'T AFFECT BLINDNESS (#24360)
* You can no longer see hud / screen when asleep

* oh fuck the huds

* Update code/_onclick/hud/robot_hud.dm

Co-authored-by: Contrabang <91113370+Contrabang@users.noreply.github.com>

* storing when looking into a bug

* more tweaks

* Initial screen object fixes

* fix for old screen types

* animation my dear watson

---------

Co-authored-by: Contrabang <91113370+Contrabang@users.noreply.github.com>
Co-authored-by: S34N <12197162+S34NW@users.noreply.github.com>
2024-05-05 09:42:12 +00:00
bad8b31afa Changes all .len to length() where applicable (#25174)
* Globals work

* Double access works

* All other things

* Revert "All other things"

This reverts commit 6574442eb6.

* More changes that compile and work

* IT WORKS AAAAAA

* Changes even more .len to length()

* Apply suggestions from code review

* Update code/datums/mind.dm

* Update code/__HELPERS/sorts/InsertSort.dm

Co-authored-by: Deniz <66401072+Oyu07@users.noreply.github.com>

* Update code/__HELPERS/sanitize_values.dm

Co-authored-by: Deniz <66401072+Oyu07@users.noreply.github.com>

---------

Co-authored-by: FunnyMan3595 (Charlie Nolan) <funnyman@google.com>
Co-authored-by: Deniz <66401072+Oyu07@users.noreply.github.com>
2024-04-19 17:32:09 +00:00
87a318a7de Refactors screen objects to /atom/movable (#24068)
* introduce helper + remove unused proc

* we love compatibility

* Update code/_onclick/hud/action_button.dm

Co-authored-by: Burzah <116982774+Burzah@users.noreply.github.com>

* Update code/_onclick/hud/action_button.dm

Co-authored-by: Burzah <116982774+Burzah@users.noreply.github.com>

* Update code/_onclick/hud/alert.dm

Co-authored-by: Burzah <116982774+Burzah@users.noreply.github.com>

* Update code/_onclick/hud/blob_overmind.dm

Co-authored-by: Burzah <116982774+Burzah@users.noreply.github.com>

* Update code/_onclick/hud/blob_overmind.dm

Co-authored-by: Burzah <116982774+Burzah@users.noreply.github.com>

* Update code/_onclick/hud/blob_overmind.dm

Co-authored-by: Burzah <116982774+Burzah@users.noreply.github.com>

* Update code/modules/martial_arts/martial.dm

Co-authored-by: Burzah <116982774+Burzah@users.noreply.github.com>

* Update code/modules/mining/lavaland/loot/tendril_loot.dm

Co-authored-by: Burzah <116982774+Burzah@users.noreply.github.com>

* Update code/modules/mob/living/carbon/human/species/shadow.dm

Co-authored-by: Burzah <116982774+Burzah@users.noreply.github.com>

* Update code/modules/mob/living/carbon/human/species/shadow.dm

Co-authored-by: Burzah <116982774+Burzah@users.noreply.github.com>

* Update code/modules/mob/living/living_update_status.dm

Co-authored-by: Burzah <116982774+Burzah@users.noreply.github.com>

* Update code/_onclick/hud/screen_objects.dm

Co-authored-by: Burzah <116982774+Burzah@users.noreply.github.com>

* Update code/_onclick/hud/screen_objects.dm

Co-authored-by: Burzah <116982774+Burzah@users.noreply.github.com>

* Update code/_onclick/hud/screen_objects.dm

Co-authored-by: Burzah <116982774+Burzah@users.noreply.github.com>

* Update code/game/objects/items/weapons/storage/internal.dm

Co-authored-by: Burzah <116982774+Burzah@users.noreply.github.com>

* Update code/game/machinery/computer/camera_advanced.dm

Co-authored-by: Burzah <116982774+Burzah@users.noreply.github.com>

* Update code/game/machinery/computer/camera_advanced.dm

Co-authored-by: Burzah <116982774+Burzah@users.noreply.github.com>

* Update code/game/objects/items/weapons/storage/internal.dm

Co-authored-by: Burzah <116982774+Burzah@users.noreply.github.com>

* Update code/game/mecha/mecha.dm

Co-authored-by: Burzah <116982774+Burzah@users.noreply.github.com>

* deconflict

---------

Co-authored-by: Burzah <116982774+Burzah@users.noreply.github.com>
2024-03-03 17:37:51 +00:00
AylongandGitHub 825c2c8866 Converts Input List to TGUI Input Lists (#23396)
* Part 1

* Testing 1

* Revert "Testing 1"

This reverts commit fc06554b28.

* Part 1.1

* Part 2 - UI Style List

* Preferences lists

* Preferences lists - DONE

* More inputs

* MOOOOOORE

* UI style else

* Last ones

* Double name fix

* Pre-selected Search

* Return Pick Darkness

* Return Pick Darkness

* Missing users

* Some review changes

* Revert MULE lists

* I just hate MERGE CONFLICT label

* List window tweaks

* I think there it is

* why i am stopid

* Update tgui.bundle.js
2023-12-10 19:38:23 +00:00
AffectedArc07andGitHub e91b6c94f7 Renames QDEL_LIST to QDEL_LIST_CONTENTS (#20006)
* Renames QDEL_LIST to QDEL_LIST_CONTENTS

* derp
2022-12-29 14:28:40 +00:00
LucandGitHub 9ca8b4dc6e [GBP: NO UPDATE] Add moved signals to ai movement procs (#17364) 2022-01-24 14:31:52 +01:00
KepplerxandGitHub 1d04a9ec74 AI Detector can now only detect AI, not Abductors, Xenobio consoles or Shuttles (#15535)
* Update navigation_computer.dm

* V7

* Update navigation_computer.dm

* All instances

* Added explainers

Seems this is done some places, seems nice and easier to understand with em

* Updated name

* Change Variable name

Changed as per advise of Fox
2021-07-08 23:18:15 +01:00
SabreMLandGitHub f9ef6a6d38 Observation Console Fix (#16296) 2021-07-04 12:01:47 +01:00
Fox McCloudandGitHub 70b46d8aea Life refactor (#13471)
* Life Refactor WIP

* part 2

* part 3

* runtime fix

* newlines

* tweaks

* perspective checks

* fixes

* remote view tweaks

* more fixes

* robot fixes

* better updating

* cleaned up icon procs

* less proc call overhead

* performance gains

* more optimization

* shorter lists, removal of unecesary code

* gene OOP and dna styling cleanup

* oops

* axe disabilities

* typeless loop

* various tweaks and fixes

* brain checks

* runtime fixes

* cryo vision fixes
2020-06-03 19:43:30 -06:00
AffectedArc07andGitHub 210f8badf4 Makes all global variables handled by the GLOB controller (#13152)
* Handlers converted, now to fix 3532 compile errors

* 3532 compile fixes later, got runtimes on startup

* Well the server loads now atleast

* Take 2

* Oops
2020-03-20 21:56:37 -06:00
tigercat2000 8ef1b97f45 Merge remote-tracking branch 'upstream/master' into multivis
# Conflicts:
#	.travis.yml
#	_maps/map_files/MetaStation/z2.dmm
#	_maps/map_files/cyberiad/z2.dmm
#	code/game/atoms_movable.dm
#	code/game/machinery/camera/camera.dm
#	code/modules/mob/living/silicon/ai/ai.dm
#	code/modules/mob/living/silicon/ai/freelook/eye.dm
2018-10-23 17:41:41 -07:00
Fox McCloud c6bb2ecd4d abductor stuff 2018-07-18 19:51:22 -04:00
tigercat2000 a6ebad6b18 Add Picture in Picture & AI Multivis support
tgstation/tgstation#28360
tgstation/tgstation#37695

This commit adds a system for picture-in-picture UI windows using
vis_contents, a new feature to BYOND 512. Essentially, it allows you to
make UI windows that show an area of turfs. It also refactors how
cameranet visibility works, and makes the Adv. Camera Console code a bit
cleaner and more inheritance-based, especially with it's action buttons.

Currently, this is hesitantly implemented on AIs. They gain two new
UI buttons - "Enter Multicam Mode", and "Create Multicam". When they go
into Multicam Mode, they see a background of animated binary numbers,
and they are allowed to create an infinite amount of these picture in
picture windows, which subsequently creates an aiEye for each one. They
are able to control each AI eye individually, by first clicking on the
PIP window to select it as "active" and then using the normal arrow key
controls. The PIP windows can be freely resized and moved around the
area.

The AI implementation may be considered controversial; Thus, it's locked
by default, requiring an administrator to var-edit "multicam_allowed" on
the AI before it is able to use the function. Otherwise, the buttons
just do nothing and alert the user to "Contact an administrator to use
these". There's not really any easy way to completely hide the UI
elements until they are available.

As this relies on 512 features, Travis has been bumped up to use 512.
2018-06-05 22:37:28 -07:00
tigercat2000 a90a2176e7 A handful of aiEye refactors 2018-06-04 21:29:35 -07:00
Fox-McCloud 5631d36ff8 Converts Most Destroys to use QDEL_NULL 2017-04-04 23:08:41 -04:00
Fox-McCloud 5b8e6e7496 Advanced Camera Speedup and Sounds 2017-02-07 21:46:50 -05:00
Crazylemon64 cdd581a4d0 Adds fox's requested change to the advanced console to avoid a void camera
until the first camera jump
2016-12-21 18:37:39 -08:00
Crazylemon64 4b1915a02f Adds the advanced camera console tweak 2016-12-21 18:07:06 -08:00
Crazylemon64 c0cd2c263f Switches reset_view to reset_perspective 2016-12-21 17:59:08 -08:00
Crazylemon64 6d3e66f41c Polishes up the reset_view proc, which is basically
`reset_perspective` from tgstation.

Also adds various support for remote viewing lenses - like cameras not
transmitting xray vision, among other things

Recommit because we're using different compiler versions
2016-12-21 17:56:57 -08:00
Fox-McCloud 55ffd16db8 Fixes Telekinetic Simple Mobs 2016-11-11 10:39:50 -05:00
Crazylemon64 6a7f7394a8 Ports over the status effect unification 2016-10-23 15:45:35 -07:00
Tigercat2000 56a09db739 Action Button Update
- Refactors action button backend
   - Action buttons are no longer checked on Life(), items are responsible
     for adding/removing/updating them.
   - Item action buttons are no longer a static action_button_name define,
     items define actions_types, which is a list of paths.
   - Items can now have multiple action buttons.
     - This is handled by new arguments to ui_action_click, the first
       parameter is the user, the second is the path of the action datum
       that was invoked.
 - Refactored how internals function
   - You may now directly switch internals without breaking anything.
   - The internals icon has been updated to be more consistent.
 - Added action buttons for jetpacks
 - Added action buttons for oxygen tanks
 - Uses-based implants now qdel() themselves when they run out of uses.
   This is somewhat a buff to traitor implants, but it's such a minor
   change. The actual reasoning is so that the action buttons are properly
   removed.
 - Fixed a bug with the "Boo" spell which resulted in IsAvailable failing
   for certain ghosts.
 - You can now shift-click on movable HUD elements to reset them to the
   proper position (thank fucking christ)
2016-07-18 13:23:01 -07:00
Tigercat2000 71e5344a98 Mass replace 2016-07-07 19:34:02 -07:00
Fox-McCloud 8ff32f4566 fixes 2016-04-18 22:53:31 -04:00
Fox-McCloud 5145825470 Part 4 2016-04-17 22:48:05 -04:00
Tigercat2000 78f53553f8 Reduce lines by removing blank lines added by PJ's script 2016-04-05 08:25:57 -07:00
Tigercat2000 9d430844c3 Replace most (if not all) output << operators with to_chat(user, message)
Currently, to_chat is literally just a proc that does user << message.
But it'll let us do output modification in the future, especially for
something like Goon's HTML chat.

Big thanks to PJB for his to_chat script, see
https://github.com/d3athrow/vgstation13/pull/6625 for more details.
2016-04-05 08:15:05 -07:00
Fox-McCloud 6648175a63 Ports Advanced Cameras 2016-03-29 06:05:59 -04:00