Skip to content

Commit ce7af4d

Browse files
covertcorvidCrossedfallAnturKitsmeow
authored
515 Fixes and Auxmos 2.5.2 (#2703)
Co-authored-by: Crossedfall <[email protected]> Co-authored-by: AnturK <[email protected]> Co-authored-by: itsmeow <[email protected]>
1 parent 80ae4b2 commit ce7af4d

File tree

150 files changed

+1818
-1373
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

150 files changed

+1818
-1373
lines changed

.gitignore

+2-1
Original file line numberDiff line numberDiff line change
@@ -8,8 +8,9 @@
88
/cfg/**/*
99
config/starmap/starmap.json
1010

11+
# NSV13 - leave the linux, actually
1112
# Ignore compiled linux libs in the root folder, e.g. librust_g.so
12-
/*.so
13+
#/*.so
1314

1415
#Ignore compiled files and other files generated during compilation.
1516
beestation_unit_test_focus_file.dm

Dockerfile

+4-3
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
# syntax=docker/dockerfile:1
2-
FROM beestation/byond:514.1589 as base
2+
FROM beestation/byond:515.1633 as base
33

44
# Install the tools needed to compile our rust dependencies
55
FROM base as rust-build
@@ -28,13 +28,14 @@ RUN git init \
2828
&& cargo build --release --all-features --target i686-unknown-linux-gnu
2929

3030
# Build auxmos
31+
# NSV13 - different fork and katmos hooks
3132
FROM rust-build as auxmos
3233
RUN git init \
33-
&& git remote add origin https://github.com/Putnam3145/auxmos \
34+
&& git remote add origin https://github.com/covertcorvid/auxmos \
3435
&& /bin/bash -c "source dependencies.sh \
3536
&& git fetch --depth 1 origin \$AUXMOS_VERSION" \
3637
&& git checkout FETCH_HEAD \
37-
&& cargo rustc --target=i686-unknown-linux-gnu --release --features=trit_fire_hook,plasma_fire_hook,generic_fire_hook
38+
&& cargo rustc --target=i686-unknown-linux-gnu --release --features=katmos
3839

3940
# Install nodejs which is required to deploy BeeStation
4041
FROM base as node

SpacemanDMM.toml

+2
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,5 @@
1+
environment = "nsv13.dme"
2+
13
[langserver]
24
dreamchecker = true
35

_maps/map_files/Tycoon/Tycoon2.dmm

+3-3
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

auxmos.dll

682 KB
Binary file not shown.

auxtools/auxmos.dll

-848 KB
Binary file not shown.

code/__DEFINES/_auxtools.dm

+8
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
/proc/auxtools_stack_trace(msg)
2+
CRASH(msg)
3+
4+
/proc/auxtools_expr_stub()
5+
CRASH("auxtools not loaded")
6+
7+
/proc/enable_debugging(mode, port)
8+
CRASH("auxtools not loaded")

code/__DEFINES/atmospherics.dm

+25-2
Original file line numberDiff line numberDiff line change
@@ -147,8 +147,23 @@
147147
#define ATMOS_ADJACENT_ANY (1<<0)
148148
#define ATMOS_ADJACENT_FIRELOCK (1<<1)
149149

150-
#define CANATMOSPASS(A, O) ( A.CanAtmosPass == ATMOS_PASS_PROC ? A.CanAtmosPass(O) : ( A.CanAtmosPass == ATMOS_PASS_DENSITY ? !A.density : A.CanAtmosPass ) )
151-
#define CANVERTICALATMOSPASS(A, O) ( A.CanAtmosPassVertical == ATMOS_PASS_PROC ? A.CanAtmosPass(O, TRUE) : ( A.CanAtmosPassVertical == ATMOS_PASS_DENSITY ? !A.density : A.CanAtmosPassVertical ) )
150+
#ifdef TESTING
151+
GLOBAL_LIST_INIT(atmos_adjacent_savings, list(0,0))
152+
#define CALCULATE_ADJACENT_TURFS(T, state) if (SSair.adjacent_rebuild[T]) { GLOB.atmos_adjacent_savings[1] += 1 } else { GLOB.atmos_adjacent_savings[2] += 1; SSair.adjacent_rebuild[T] = state}
153+
#else
154+
#define CALCULATE_ADJACENT_TURFS(T, state) SSair.adjacent_rebuild[T] = state
155+
#endif
156+
157+
//If you're doing spreading things related to atmos, DO NOT USE CANATMOSPASS, IT IS NOT CHEAP. use this instead, the info is cached after all. it's tweaked just a bit to allow for circular checks
158+
#define TURFS_CAN_SHARE(T1, T2) (LAZYACCESS(T2.atmos_adjacent_turfs, T1) || LAZYLEN(T1.atmos_adjacent_turfs & T2.atmos_adjacent_turfs))
159+
//Use this to see if a turf is fully blocked or not, think windows or firelocks. Fails with 1x1 non full tile windows, but it's not worth the cost.
160+
#define TURF_SHARES(T) (LAZYLEN(T.atmos_adjacent_turfs))
161+
162+
#define CANATMOSPASS(A, O, V) ( A.CanAtmosPass == ATMOS_PASS_PROC ? A.CanAtmosPass(O, V) : ( A.CanAtmosPass == ATMOS_PASS_DENSITY ? !A.density : A.CanAtmosPass ) )
163+
164+
///Used to define the temperature of a tile, arg is the temperature it should be at. Should always be put at the end of the atmos list.
165+
///This is solely to be used after compile-time.
166+
#define TURF_TEMPERATURE(temperature) "TEMP=[temperature]"
152167

153168
//OPEN TURF ATMOS
154169
#define OPENTURF_DEFAULT_ATMOS "o2=22;n2=82;TEMP=293.15" //the default air mix that open turfs spawn
@@ -164,6 +179,9 @@
164179
#define ATMOS_TANK_PLASMA "plasma=70000;TEMP=293.15"
165180
#define ATMOS_TANK_O2 "o2=100000;TEMP=293.15"
166181
#define ATMOS_TANK_N2 "n2=100000;TEMP=293.15"
182+
#define ATMOS_TANK_BZ "bz=100000;TEMP=293.15"
183+
#define ATMOS_TANK_PLUOXIUM "pluox=100000;TEMP=293.15"
184+
#define ATMOS_TANK_TRITIUM "tritium=100000;TEMP=293.15"
167185
#define ATMOS_TANK_AIRMIX "o2=2644;n2=10580;TEMP=293.15"
168186

169187
//LAVALAND
@@ -325,3 +343,8 @@ GLOBAL_LIST_INIT(pipe_paint_colors, sortList(list(
325343
#define PIPENET_UPDATE_STATUS_DORMANT 0
326344
#define PIPENET_UPDATE_STATUS_REACT_NEEDED 1
327345
#define PIPENET_UPDATE_STATUS_RECONCILE_NEEDED 2
346+
347+
// NSV13 - auxmos
348+
#define ATMOS_ALARM_SEVERE "severe"
349+
#define ATMOS_ALARM_MINOR "minor"
350+
#define ATMOS_ALARM_CLEAR "clear"

code/__DEFINES/bindings.dm

+185
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,185 @@
1+
//THIS FILE IS AUTOMATICALLY GENERATED BY AUXMOS, PLEASE DO NOT TOUCH IT
2+
//PROC DEFINITIONS MAY MOVE AROUND, THIS IS NORMAL
3+
4+
/* This comment bypasses grep checks */ /var/__auxmos
5+
6+
/proc/__detect_auxmos()
7+
if (world.system_type == UNIX)
8+
return __auxmos = "libauxmos"
9+
else
10+
return __auxmos = "auxmos"
11+
12+
#define AUXMOS (__auxmos || __detect_auxmos())
13+
14+
/turf/proc/__update_auxtools_turf_adjacency_info()
15+
return call_ext(AUXMOS, "byond:hook_infos_ffi")(src)
16+
17+
/turf/proc/update_air_ref(flag)
18+
return call_ext(AUXMOS, "byond:hook_register_turf_ffi")(src, flag)
19+
20+
/datum/controller/subsystem/air/proc/process_turfs_auxtools(remaining)
21+
return call_ext(AUXMOS, "byond:process_turf_hook_ffi")(src, remaining)
22+
23+
/datum/controller/subsystem/air/proc/finish_turf_processing_auxtools(time_remaining)
24+
return call_ext(AUXMOS, "byond:finish_process_turfs_ffi")(time_remaining)
25+
26+
/datum/controller/subsystem/air/proc/thread_running()
27+
return call_ext(AUXMOS, "byond:thread_running_hook_ffi")()
28+
29+
/proc/finalize_gas_refs()
30+
return call_ext(AUXMOS, "byond:finalize_gas_refs_ffi")()
31+
32+
/datum/controller/subsystem/air/proc/auxtools_update_reactions()
33+
return call_ext(AUXMOS, "byond:update_reactions_ffi")()
34+
35+
/proc/auxtools_atmos_init(gas_data)
36+
return call_ext(AUXMOS, "byond:hook_init_ffi")(gas_data)
37+
38+
/proc/_auxtools_register_gas(gas)
39+
return call_ext(AUXMOS, "byond:hook_register_gas_ffi")(gas)
40+
41+
/datum/controller/subsystem/air/proc/process_turf_equalize_auxtools(remaining)
42+
return call_ext(AUXMOS, "byond:equalize_hook_ffi")(src, remaining)
43+
44+
/datum/controller/subsystem/air/proc/process_excited_groups_auxtools(remaining)
45+
return call_ext(AUXMOS, "byond:groups_hook_ffi")(src, remaining)
46+
47+
/datum/gas_mixture/proc/__auxtools_parse_gas_string(string)
48+
return call_ext(AUXMOS, "byond:parse_gas_string_ffi")(src, string)
49+
50+
/datum/controller/subsystem/air/proc/get_max_gas_mixes()
51+
return call_ext(AUXMOS, "byond:hook_max_gas_mixes_ffi")()
52+
53+
/datum/controller/subsystem/air/proc/get_amt_gas_mixes()
54+
return call_ext(AUXMOS, "byond:hook_amt_gas_mixes_ffi")()
55+
56+
/proc/equalize_all_gases_in_list(gas_list)
57+
return call_ext(AUXMOS, "byond:equalize_all_hook_ffi")(gas_list)
58+
59+
/datum/gas_mixture/proc/get_oxidation_power(temp)
60+
return call_ext(AUXMOS, "byond:oxidation_power_hook_ffi")(src, temp)
61+
62+
/datum/gas_mixture/proc/get_fuel_amount(temp)
63+
return call_ext(AUXMOS, "byond:fuel_amount_hook_ffi")(src, temp)
64+
65+
/datum/gas_mixture/proc/equalize_with(total)
66+
return call_ext(AUXMOS, "byond:equalize_with_hook_ffi")(src, total)
67+
68+
/datum/gas_mixture/proc/transfer_ratio_to(other, ratio)
69+
return call_ext(AUXMOS, "byond:transfer_ratio_hook_ffi")(src, other, ratio)
70+
71+
/datum/gas_mixture/proc/transfer_to(other, moles)
72+
return call_ext(AUXMOS, "byond:transfer_hook_ffi")(src, other, moles)
73+
74+
/datum/gas_mixture/proc/adjust_heat(temp)
75+
return call_ext(AUXMOS, "byond:adjust_heat_hook_ffi")(src, temp)
76+
77+
/datum/gas_mixture/proc/react(holder)
78+
return call_ext(AUXMOS, "byond:react_hook_ffi")(src, holder)
79+
80+
/datum/gas_mixture/proc/compare(other)
81+
return call_ext(AUXMOS, "byond:compare_hook_ffi")(src, other)
82+
83+
/datum/gas_mixture/proc/clear()
84+
return call_ext(AUXMOS, "byond:clear_hook_ffi")(src)
85+
86+
/datum/gas_mixture/proc/mark_immutable()
87+
return call_ext(AUXMOS, "byond:mark_immutable_hook_ffi")(src)
88+
89+
/datum/gas_mixture/proc/scrub_into(into, ratio_v, gas_list)
90+
return call_ext(AUXMOS, "byond:scrub_into_hook_ffi")(src, into, ratio_v, gas_list)
91+
92+
/datum/gas_mixture/proc/get_by_flag(flag_val)
93+
return call_ext(AUXMOS, "byond:get_by_flag_hook_ffi")(src, flag_val)
94+
95+
/datum/gas_mixture/proc/__remove_by_flag(into, flag_val, amount_val)
96+
return call_ext(AUXMOS, "byond:remove_by_flag_hook_ffi")(src, into, flag_val, amount_val)
97+
98+
/datum/gas_mixture/proc/divide(num_val)
99+
return call_ext(AUXMOS, "byond:divide_hook_ffi")(src, num_val)
100+
101+
/datum/gas_mixture/proc/multiply(num_val)
102+
return call_ext(AUXMOS, "byond:multiply_hook_ffi")(src, num_val)
103+
104+
/datum/gas_mixture/proc/subtract(num_val)
105+
return call_ext(AUXMOS, "byond:subtract_hook_ffi")(src, num_val)
106+
107+
/datum/gas_mixture/proc/add(num_val)
108+
return call_ext(AUXMOS, "byond:add_hook_ffi")(src, num_val)
109+
110+
/datum/gas_mixture/proc/adjust_multi(...)
111+
var/list/args_copy = args.Copy()
112+
args_copy.Insert(1, src)
113+
return call_ext(AUXMOS, "byond:adjust_multi_hook_ffi")(arglist(args_copy))
114+
115+
/datum/gas_mixture/proc/adjust_moles_temp(id_val, num_val, temp_val)
116+
return call_ext(AUXMOS, "byond:adjust_moles_temp_hook_ffi")(src, id_val, num_val, temp_val)
117+
118+
/datum/gas_mixture/proc/adjust_moles(id_val, num_val)
119+
return call_ext(AUXMOS, "byond:adjust_moles_hook_ffi")(src, id_val, num_val)
120+
121+
/datum/gas_mixture/proc/set_moles(gas_id, amt_val)
122+
return call_ext(AUXMOS, "byond:set_moles_hook_ffi")(src, gas_id, amt_val)
123+
124+
/datum/gas_mixture/proc/get_moles(gas_id)
125+
return call_ext(AUXMOS, "byond:get_moles_hook_ffi")(src, gas_id)
126+
127+
/datum/gas_mixture/proc/set_volume(vol_arg)
128+
return call_ext(AUXMOS, "byond:set_volume_hook_ffi")(src, vol_arg)
129+
130+
/datum/gas_mixture/proc/partial_heat_capacity(gas_id)
131+
return call_ext(AUXMOS, "byond:partial_heat_capacity_ffi")(src, gas_id)
132+
133+
/datum/gas_mixture/proc/set_temperature(arg_temp)
134+
return call_ext(AUXMOS, "byond:set_temperature_hook_ffi")(src, arg_temp)
135+
136+
/datum/gas_mixture/proc/get_gases()
137+
return call_ext(AUXMOS, "byond:get_gases_hook_ffi")(src)
138+
139+
/datum/gas_mixture/proc/temperature_share(...)
140+
var/list/args_copy = args.Copy()
141+
args_copy.Insert(1, src)
142+
return call_ext(AUXMOS, "byond:temperature_share_hook_ffi")(arglist(args_copy))
143+
144+
/datum/gas_mixture/proc/copy_from(giver)
145+
return call_ext(AUXMOS, "byond:copy_from_hook_ffi")(src, giver)
146+
147+
/datum/gas_mixture/proc/__remove(into, amount_arg)
148+
return call_ext(AUXMOS, "byond:remove_hook_ffi")(src, into, amount_arg)
149+
150+
/datum/gas_mixture/proc/__remove_ratio(into, ratio_arg)
151+
return call_ext(AUXMOS, "byond:remove_ratio_hook_ffi")(src, into, ratio_arg)
152+
153+
/datum/gas_mixture/proc/merge(giver)
154+
return call_ext(AUXMOS, "byond:merge_hook_ffi")(src, giver)
155+
156+
/datum/gas_mixture/proc/thermal_energy()
157+
return call_ext(AUXMOS, "byond:thermal_energy_hook_ffi")(src)
158+
159+
/datum/gas_mixture/proc/return_volume()
160+
return call_ext(AUXMOS, "byond:return_volume_hook_ffi")(src)
161+
162+
/datum/gas_mixture/proc/return_temperature()
163+
return call_ext(AUXMOS, "byond:return_temperature_hook_ffi")(src)
164+
165+
/datum/gas_mixture/proc/return_pressure()
166+
return call_ext(AUXMOS, "byond:return_pressure_hook_ffi")(src)
167+
168+
/datum/gas_mixture/proc/total_moles()
169+
return call_ext(AUXMOS, "byond:total_moles_hook_ffi")(src)
170+
171+
/datum/gas_mixture/proc/set_min_heat_capacity(arg_min)
172+
return call_ext(AUXMOS, "byond:min_heat_cap_hook_ffi")(src, arg_min)
173+
174+
/datum/gas_mixture/proc/heat_capacity()
175+
return call_ext(AUXMOS, "byond:heat_cap_hook_ffi")(src)
176+
177+
/datum/gas_mixture/proc/__gasmixture_unregister()
178+
return call_ext(AUXMOS, "byond:unregister_gasmixture_hook_ffi")(src)
179+
180+
/datum/gas_mixture/proc/__gasmixture_register()
181+
return call_ext(AUXMOS, "byond:register_gasmixture_hook_ffi")(src)
182+
183+
/proc/process_atmos_callbacks(remaining)
184+
return call_ext(AUXMOS, "byond:atmos_callback_handle_ffi")(remaining)
185+

code/__DEFINES/spaceman_dmm.dm

-9
Original file line numberDiff line numberDiff line change
@@ -29,15 +29,6 @@
2929
#define VAR_PROTECTED var
3030
#endif
3131

32-
/proc/auxtools_stack_trace(msg)
33-
CRASH(msg)
34-
35-
/proc/auxtools_expr_stub()
36-
CRASH("auxtools not loaded")
37-
38-
/proc/enable_debugging(mode, port)
39-
CRASH("auxtools not loaded")
40-
4132
/world/Del()
4233
var/debug_server = world.GetConfig("env", "AUXTOOLS_DEBUG_DLL")
4334
if (debug_server)

code/__DEFINES/subsystems.dm

+5-1
Original file line numberDiff line numberDiff line change
@@ -184,6 +184,7 @@
184184
#define FIRE_PRIORITY_DEFAULT 50
185185
#define FIRE_PRIORITY_PARALLAX 65
186186
#define FIRE_PRIORITY_INSTRUMENTS 80
187+
#define FIRE_PRIORITY_CALLBACKS 90
187188
#define FIRE_PRIORITY_MOBS 100
188189
#define FIRE_PRIORITY_TGUI 110
189190
#define FIRE_PRIORITY_TICKER 200
@@ -193,7 +194,6 @@
193194
#define FIRE_PRIORITY_CHAT 400
194195
#define FIRE_PRIORITY_RUNECHAT 410
195196
#define FIRE_PRIORITY_OVERLAYS 500
196-
#define FIRE_PRIORITY_CALLBACKS 600
197197
#define FIRE_PRIORITY_EXPLOSIONS 666
198198
#define FIRE_PRIORITY_TIMER 700
199199
#define FIRE_PRIORITY_SOUND_LOOPS 800
@@ -224,6 +224,10 @@
224224
#define SSAIR_ATMOSMACHINERY_AIR 12
225225
#define SSAIR_DEFERRED_AIRS 13
226226

227+
//Pipeline rebuild helper defines, these suck but it'll do for now //Fools you actually merged it
228+
#define SSAIR_REBUILD_PIPELINE 1
229+
#define SSAIR_REBUILD_QUEUE 2
230+
227231
// Explosion Subsystem subtasks
228232
#define SSEXPLOSIONS_MOVABLES 1
229233
#define SSEXPLOSIONS_TURFS 2

code/__HELPERS/_extools_api.dm

-23
This file was deleted.

0 commit comments

Comments
 (0)