Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
54 commits
Select commit Hold shift + click to select a range
dec798e
Disambiguating some language in human examine code.
MistakeNot4892 Jan 4, 2025
bd4ba52
Adjusting fluid dripping and turf slipperiness from fluid_act().
MistakeNot4892 Jan 4, 2025
fc04081
Dirt will no longer fall through open space.
MistakeNot4892 Jan 4, 2025
b4d2fcd
Further tweaks to dripping logic.
MistakeNot4892 Jan 4, 2025
87d44df
Corrects paper solvent check.
MistakeNot4892 Jan 4, 2025
3ead82c
Fixing tiny amounts of paint colouring turfs.
MistakeNot4892 Jan 4, 2025
4926f3d
Fix inability to use mortars.
MistakeNot4892 Jan 4, 2025
cb77672
Reboot will only be announced once.
MistakeNot4892 Jan 4, 2025
d29df4d
Fixing several runtimes from Pyrelight testing.
MistakeNot4892 Jan 4, 2025
4a4fa06
Fixes issues with pry_door() parameters.
MistakeNot4892 Jan 4, 2025
07faf75
Fixes some null holder issues with rig modules.
MistakeNot4892 Jan 4, 2025
bc91fcc
Fixing runtime in slapcrafting with stacks.
MistakeNot4892 Jan 4, 2025
4564342
Fixing missing lazylist macro in overlay add.
MistakeNot4892 Jan 4, 2025
45d3eba
Correcting typing on glass alt interaction override.
MistakeNot4892 Jan 4, 2025
c6e84ff
Put a cap on the amount of damage you can take from hail.
MistakeNot4892 Jan 5, 2025
40b4aaa
Notes towards ambient light fixes.
MistakeNot4892 Jan 5, 2025
b125df2
Fixes return value of trans_to_turf().
MistakeNot4892 Jan 5, 2025
9db7211
Fixing glass containrs like bottles being drunk from instead of toggl…
MistakeNot4892 Jan 5, 2025
4fbeb0f
Maps will now validate their level lists during unit testing.
MistakeNot4892 Jan 5, 2025
e55d256
Removes testing maps from votable maps.
MistakeNot4892 Jan 5, 2025
0e8b2bf
Commenting out admin levels check.
MistakeNot4892 Jan 5, 2025
780a30e
Fixing AI verb proc references.
MistakeNot4892 Jan 5, 2025
7474702
Shaded Hills level data changed to main_level instead of player_level.
MistakeNot4892 Jan 5, 2025
a753ab6
Adding map previews for Shaded Hills.
MistakeNot4892 Jan 5, 2025
bdfd416
Fixed holsters considering their holstered weapon as also in storage.
MistakeNot4892 Jan 5, 2025
b98168e
Optimize ship mass calculation
out-of-phaze Jan 5, 2025
5deaa89
Port TG's ref()less garbage collector
out-of-phaze Jan 5, 2025
0c15e2d
Remove ID var from seed piles
out-of-phaze Jan 5, 2025
6e2e8d7
Fix unnecessary UI updates on storage object destroy
out-of-phaze Jan 5, 2025
2dbbf4d
Optimize icon state checks via more caching
out-of-phaze Jan 5, 2025
07cf2d1
Fix bookcase icon state check
out-of-phaze Jan 5, 2025
a05b48b
Make state machine list use hardrefs
out-of-phaze Jan 5, 2025
7b614a7
Fix unnecessary .name usage in text strings
out-of-phaze Jan 5, 2025
2d3c37f
Make NanoUI use hardrefs for src_object
out-of-phaze Jan 5, 2025
3cbff13
Fix del the world with new SSgarbage queues
out-of-phaze Jan 5, 2025
0fa9e1f
Fix harddel issues found by improved GC
out-of-phaze Jan 5, 2025
e1c1aa0
Enable reftracking in CI
out-of-phaze Jan 5, 2025
46e7deb
Fix terminal GC fail from geothermal generator
out-of-phaze Jan 6, 2025
e509f48
Add additional safeguards to graphs
out-of-phaze Jan 6, 2025
cf96eca
Fix GC fails from ballistic weapons
out-of-phaze Jan 6, 2025
b79e751
Remove GC exceptions list
out-of-phaze Jan 6, 2025
e8c033f
Fix miscellaneous GC issues
out-of-phaze Jan 6, 2025
75eac09
Fix graph GC
out-of-phaze Jan 6, 2025
6ef7d87
Fix hard-queued objects causing runtimes
out-of-phaze Jan 6, 2025
937681b
Corrects trench color.
MistakeNot4892 Jan 7, 2025
da0c626
Fixes backfilling.
MistakeNot4892 Jan 7, 2025
123f861
Resets pixel_z on turfs when height is 0.
MistakeNot4892 Jan 7, 2025
b2f6d4d
Prevents /mob/living/brain from deleting its turf on gib().
MistakeNot4892 Jan 7, 2025
efe0c55
Automatic changelog generation [ci skip]
NebulaSS13Bot Jan 8, 2025
c2daacc
Merge pull request #4698 from out-of-phaze/optimize/ship-mass
MistakeNot4892 Jan 8, 2025
051354e
Merge pull request #4693 from MistakeNot4892/fixes/staging
out-of-phaze Jan 8, 2025
e2a948b
Merge branch 'staging' of github.com:NebulaSS13/Nebula into devupdate
MistakeNot4892 Jan 8, 2025
5485975
filter_queue -> check_queue in del_the_world
MistakeNot4892 Jan 8, 2025
e3e4908
Merge pull request #4706 from MistakeNot4892/devupdate
MistakeNot4892 Jan 8, 2025
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
13 changes: 13 additions & 0 deletions code/__defines/_compile_options.dm
Original file line number Diff line number Diff line change
@@ -1,3 +1,16 @@
// The default value for all uses of set background. Set background can cause gradual lag and is recommended you only turn this on if necessary.
// 1 will enable set background. 0 will disable set background.
#define BACKGROUND_ENABLED 0

// If REFTRACK_IN_CI is defined, the reftracker will run in CI.
#define REFTRACK_IN_CI
#if defined(REFTRACK_IN_CI) && defined(UNIT_TEST) && !defined(SPACEMAN_DMM)
#define REFTRACKING_ENABLED
#define GC_FAILURE_HARD_LOOKUP
#define FIND_REF_NO_CHECK_TICK
#endif

// parity with previous behavior where TESTING enabled reftracking
#ifdef TESTING
#define REFTRACKING_ENABLED
#endif
10 changes: 8 additions & 2 deletions code/__defines/qdel.dm
Original file line number Diff line number Diff line change
Expand Up @@ -5,8 +5,8 @@
#define QDEL_HINT_IWILLGC 2 //functionally the same as the above. qdel should assume the object will gc on its own, and not check it.
#define QDEL_HINT_HARDDEL 3 //qdel should assume this object won't gc, and queue a hard delete using a hard reference.
#define QDEL_HINT_HARDDEL_NOW 4 //qdel should assume this object won't gc, and hard del it post haste.
#define QDEL_HINT_FINDREFERENCE 5 //functionally identical to QDEL_HINT_QUEUE if TESTING is not enabled in _compiler_options.dm.
//if TESTING is enabled, qdel will call this object's find_references() verb.
#define QDEL_HINT_FINDREFERENCE 5 //functionally identical to QDEL_HINT_QUEUE if REFTRACKING_ENABLED is not enabled in _compiler_options.dm.
//if REFTRACKING_ENABLED is enabled, qdel will call this object's find_references() verb.
#define QDEL_HINT_IFFAIL_FINDREFERENCE 6 //Above but only if gc fails.
//defines for the gc_destroyed var

Expand All @@ -15,6 +15,12 @@
#define GC_QUEUE_HARDDELETE 3
#define GC_QUEUE_COUNT 3 //increase this when adding more steps.

// Defines for the ssgarbage queue items
#define GC_QUEUE_ITEM_QUEUE_TIME 1 //! Time this item entered the queue
#define GC_QUEUE_ITEM_REF 2 //! Ref to the item
#define GC_QUEUE_ITEM_GCD_DESTROYED 3 //! Item's gc_destroyed var value. Used to detect ref reuse.
#define GC_QUEUE_ITEM_INDEX_COUNT 3 //! Number of item indexes, used for allocating the nested lists. Don't forget to increase this if you add a new queue item index

#define GC_QUEUED_FOR_HARD_DEL -1
#define GC_CURRENTLY_BEING_QDELETED -2

Expand Down
40 changes: 20 additions & 20 deletions code/_onclick/hud/ai_hud.dm
Original file line number Diff line number Diff line change
Expand Up @@ -11,70 +11,70 @@
screen_loc = ui_ai_core
name = "AI Core"
icon_state = "ai_core"
proc_path = TYPE_PROC_REF(/mob/living/silicon/ai, core)
proc_path = /mob/living/silicon/ai/proc/core

/decl/ai_hud/ai_announcement
screen_loc = ui_ai_announcement
name = "AI Announcement"
icon_state = "announcement"
proc_path = TYPE_PROC_REF(/mob/living/silicon/ai, ai_announcement)
proc_path = /mob/living/silicon/ai/proc/ai_announcement

/decl/ai_hud/ai_cam_track
screen_loc = ui_ai_cam_track
name = "Track With Camera"
icon_state = "track"
proc_path = TYPE_PROC_REF(/mob/living/silicon/ai, ai_camera_track)
proc_path = /mob/living/silicon/ai/proc/ai_camera_track
input_procs = list(/mob/living/silicon/ai/proc/trackable_mobs = (AI_BUTTON_PROC_BELONGS_TO_CALLER|AI_BUTTON_INPUT_REQUIRES_SELECTION))

/decl/ai_hud/ai_cam_light
screen_loc = ui_ai_cam_light
name = "Toggle Camera Lights"
icon_state = "camera_light"
proc_path = TYPE_PROC_REF(/mob/living/silicon/ai, toggle_camera_light)
proc_path = /mob/living/silicon/ai/proc/toggle_camera_light

/decl/ai_hud/ai_cam_change_channel
screen_loc = ui_ai_cam_change_channel
name = "Jump to Camera Channel"
icon_state = "camera"
proc_path = TYPE_PROC_REF(/mob/living/silicon/ai, ai_channel_change)
proc_path = /mob/living/silicon/ai/proc/ai_channel_change
input_procs = list(/mob/living/silicon/ai/proc/get_camera_channel_list = (AI_BUTTON_PROC_BELONGS_TO_CALLER|AI_BUTTON_INPUT_REQUIRES_SELECTION))

/decl/ai_hud/ai_sensor
screen_loc = ui_ai_sensor
name = "Set Sensor Mode"
icon_state = "ai_sensor"
proc_path = TYPE_PROC_REF(/mob/living/silicon/ai, sensor_mode)
proc_path = /mob/living/silicon/ai/proc/sensor_mode

/decl/ai_hud/ai_manifest
screen_loc = ui_ai_crew_manifest
name = "Show Crew Manifest"
icon_state = "manifest"
proc_path = TYPE_PROC_REF(/mob/living/silicon/ai, run_program)
proc_path = /mob/living/silicon/ai/proc/run_program
input_args = list("crewmanifest")

/decl/ai_hud/ai_take_image
screen_loc = ui_ai_take_image
name = "Toggle Camera Mode"
icon_state = "take_picture"
proc_path = TYPE_PROC_REF(/mob/living/silicon/ai, ai_take_image)
proc_path = /mob/living/silicon/ai/proc/ai_take_image

/decl/ai_hud/ai_view_images
screen_loc = ui_ai_view_images
name = "View Images"
icon_state = "view_images"
proc_path = TYPE_PROC_REF(/mob/living/silicon/ai, ai_view_images)
proc_path = /mob/living/silicon/ai/proc/ai_view_images

/decl/ai_hud/ai_laws
screen_loc = ui_ai_state_laws
name = "State Laws"
icon_state = "state_laws"
proc_path = TYPE_PROC_REF(/mob/living/silicon/ai, ai_checklaws)
proc_path = /mob/living/silicon/ai/proc/ai_checklaws

/decl/ai_hud/ai_call_shuttle
screen_loc = ui_ai_call_shuttle
name = "Call Shuttle"
icon_state = "call_shuttle"
proc_path = TYPE_PROC_REF(/mob/living/silicon/ai, ai_call_shuttle)
proc_path = /mob/living/silicon/ai/proc/ai_call_shuttle

/decl/ai_hud/ai_up
screen_loc = ui_ai_up
Expand All @@ -92,53 +92,53 @@
screen_loc = ui_ai_color
name = "Change Floor Color"
icon_state = "ai_floor"
proc_path = TYPE_PROC_REF(/mob/living/silicon/ai, change_floor)
proc_path = /mob/living/silicon/ai/proc/change_floor

/decl/ai_hud/ai_hologram
screen_loc = ui_ai_holo_change
name = "Change Hologram"
icon_state = "ai_holo_change"
proc_path = TYPE_PROC_REF(/mob/living/silicon/ai, ai_hologram_change)
proc_path = /mob/living/silicon/ai/proc/ai_hologram_change

/decl/ai_hud/ai_crew_monitor
screen_loc = ui_ai_crew_mon
name = "Crew Monitor"
icon_state = "crew_monitor"
proc_path = TYPE_PROC_REF(/mob/living/silicon/ai, run_program)
proc_path = /mob/living/silicon/ai/proc/run_program
input_args = list("sensormonitor")

/decl/ai_hud/ai_power_override
screen_loc = ui_ai_power_override
name = "Toggle Power Override"
icon_state = "ai_p_override"
proc_path = TYPE_PROC_REF(/mob/living/silicon/ai, ai_power_override)
proc_path = /mob/living/silicon/ai/proc/ai_power_override

/decl/ai_hud/ai_shutdown
screen_loc = ui_ai_shutdown
name = "Shutdown"
icon_state = "ai_shutdown"
proc_path = TYPE_PROC_REF(/mob/living/silicon/ai, ai_shutdown)
proc_path = /mob/living/silicon/ai/proc/ai_shutdown

/decl/ai_hud/ai_move_hologram
screen_loc = ui_ai_holo_mov
name = "Toggle Hologram Movement"
icon_state = "ai_holo_mov"
proc_path = TYPE_PROC_REF(/mob/living/silicon/ai, toggle_hologram_movement)
proc_path = /mob/living/silicon/ai/proc/toggle_hologram_movement

/decl/ai_hud/ai_core_icon
screen_loc = ui_ai_core_icon
name = "Pick Icon"
icon_state = "ai_core_pick"
proc_path = TYPE_PROC_REF(/mob/living/silicon/ai, pick_icon)
proc_path = /mob/living/silicon/ai/proc/pick_icon

/decl/ai_hud/ai_status
screen_loc = ui_ai_status
name = "Pick Status"
icon_state = "ai_status"
proc_path = TYPE_PROC_REF(/mob/living/silicon/ai, ai_statuschange)
proc_path = /mob/living/silicon/ai/proc/ai_statuschange

/decl/ai_hud/ai_inbuilt_comp
screen_loc = ui_ai_crew_rec
name = "Inbuilt Computer"
icon_state = "ai_crew_rec"
proc_path = TYPE_PROC_REF(/mob/living/silicon, access_computer)
proc_path = /mob/living/silicon/proc/access_computer
9 changes: 5 additions & 4 deletions code/_onclick/hud/screen/screen_ai_button.dm
Original file line number Diff line number Diff line change
@@ -1,16 +1,18 @@
/obj/screen/ai_button
icon = 'icons/mob/screen/ai.dmi'
requires_ui_style = FALSE
var/mob/living/silicon/ai/ai_verb
var/ai_verb
var/list/input_procs
var/list/input_args
var/list/template_icon = list(null, "template")
var/image/template_undelay

/obj/screen/ai_button/handle_click(mob/user, params)
if(!isAI(user))
return TRUE

var/mob/living/silicon/ai/A = user
if(!istype(A))
return TRUE

if(!(ai_verb in A.verbs))
return TRUE

Expand All @@ -30,7 +32,6 @@

if(!(ai_verb in A.verbs) || A.incapacitated())
return

input_arguments += input_arg

if(length(input_args))
Expand Down
Loading
Loading