Removes tablet hard drives entirely (HDD & SSD) (#70678)

* Removes HDD's entirely

HDDs have been removed, though the code for it is still currently lingering as it's required for portable disks. I'll have to find a solution to this one day, but as I am going to sleep, this is a problem for future me.

* starts on removing SSD

* updatepaths and kills off SSD

* update path :D

* Fixes to programs and icons

* Ready for review now

I read over everything I did and tried to fix anything I saw wasn't done right. Hopefully better comments now.

* merge conflict  fix

* can't win them all

* takes viruses into account in paths, fixes it in snowcabin

* Renames the updatepaths

* removes the qdel loop

* accidentally new'ed programs twice

* Fix program's computer var

* destroy pen and disk, dont run kill program on something killed

* more fixes for pens and idle threads

* Fixes PDAs installing apps twice.

* simplifies inserted disk & PDA disk

* fuck's sake

* Use istype instead

* revert

* Revert "revert"

This reverts commit 9ede628c6fef9c7c86417234f6d8ada1ff9e2fef.

* why did that happen

* Update code/modules/modular_computers/computers/item/tablet.dm

* MC_SSD added to master lol

Co-authored-by: ShizCalev <ShizCalev@users.noreply.github.com>
This commit is contained in:
John Willard
2022-10-26 00:29:50 +00:00
committed by GitHub
co-authored by ShizCalev
parent 336752b4f7
commit f1f46275f0
70 changed files with 976 additions and 1295 deletions
@@ -11,8 +11,6 @@
var/uid
///Static ID to ensure all IDs are unique.
var/static/file_uid = 0
///The hard drive that has this computer file stored.
var/obj/item/computer_hardware/hard_drive/holder
///The modular computer hosting the file.
var/obj/item/modular_computer/computer
@@ -21,15 +19,9 @@
uid = file_uid++
/datum/computer_file/Destroy(force)
if(!holder)
return ..()
holder.remove_file(src)
// holder.holder is the computer that has drive installed. If we are Destroy()ing program that's currently running kill it.
if(computer && computer.active_program == src)
computer.kill_program(forced = TRUE)
holder = null
computer = null
if(computer)
computer.remove_file(src)
computer = null
return ..()
// Returns independent copy of this file.