Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

515 Fixes and Auxmos 2.5.2 #2703

Draft
wants to merge 43 commits into
base: master
Choose a base branch
from
Draft
Show file tree
Hide file tree
Changes from 20 commits
Commits
Show all changes
43 commits
Select commit Hold shift + click to select a range
8f926f6
made game compile
covertcorvid Jun 15, 2024
1c90dd1
Tried grabbing changes from citadel again
covertcorvid Jun 15, 2024
157a290
Cherry-pick rustg updates
covertcorvid Jun 15, 2024
1bf6e5c
Cherry-pick rustg changes
covertcorvid Jun 15, 2024
ef30335
Bumps rust-g to 1.2.0 (#8680)
Crossedfall Mar 21, 2023
a106f40
Switches out rust_g.dll (#9008)
Crossedfall May 10, 2023
3648cca
Update rustg to v3.1.1 (#10408)
itsmeow Dec 29, 2023
54b5792
GAGS: Rust-g (#10455)
itsmeow Feb 16, 2024
7bb7238
Bumps rust-g to 3.1.3 and fixes subtract blending in IconForge (#10658)
Crossedfall Feb 27, 2024
8cc2a73
Fine I will use your bindings.api instead
covertcorvid Jun 23, 2024
ef9481b
Removed auxtools in favor of byondapi
covertcorvid Jun 23, 2024
e3ac2b1
Reverts layer.dm to master
covertcorvid Jun 23, 2024
6ffe372
decompression works, pipes do not
covertcorvid Jun 29, 2024
e23cd7e
Updating various defines
covertcorvid Jun 30, 2024
78898ac
Tried regenerating the bindings?
covertcorvid Jul 2, 2024
71b2d0d
Okay hold on I think I successfully compiled my own
covertcorvid Jul 2, 2024
edebe50
Fine, nitric stays
covertcorvid Jul 2, 2024
6276d64
Removed nitric
covertcorvid Jul 9, 2024
efea115
no runtimes?
covertcorvid Jul 9, 2024
d28d9eb
Merge remote-tracking branch 'NSV13/master' into 515Bugfixes
covertcorvid Jul 26, 2024
7c4171f
Fixing duplicate defines in rust_g
covertcorvid Aug 10, 2024
3056b73
made turf list have turf type
covertcorvid Aug 10, 2024
c383d92
updated dependencies.sh
covertcorvid Aug 10, 2024
f02b62c
fixed dmb file name
covertcorvid Aug 10, 2024
610555c
Change fork to install from
covertcorvid Aug 10, 2024
685b8d3
url typo
covertcorvid Aug 10, 2024
3d7a4f1
maybe now it will work
covertcorvid Aug 10, 2024
f36f87f
let's try... this!
covertcorvid Aug 10, 2024
551c79a
I don't know why it can't find the hook, I used objdump
covertcorvid Aug 10, 2024
d44bba3
this WILL break windows but I just want to see if it fixes the tests
covertcorvid Aug 11, 2024
63e6820
Revert "this WILL break windows but I just want to see if it fixes th…
covertcorvid Aug 11, 2024
6c80fd9
updates the dockerfile?
covertcorvid Aug 11, 2024
a7edf22
I might as well make this newer too but I don't think it will help
covertcorvid Aug 11, 2024
0c5e7e0
Maybe if I try just adding the library to the repo?
covertcorvid Aug 11, 2024
ec4e753
updated hooks for compiling auxmos
covertcorvid Aug 11, 2024
ff15bce
fix metrics unit test
covertcorvid Aug 11, 2024
669afcb
bad variable name
covertcorvid Aug 11, 2024
e89242a
Updating NSV13 comment on dockerfile
covertcorvid Aug 11, 2024
faf2f34
Replaces CANVERTICALATMOSPASS with a CANATMOSPASS that does both
covertcorvid Aug 11, 2024
5348b78
revert single line delete from ai.dm
covertcorvid Aug 11, 2024
dc3806d
fixes fire and adds auxmos fusion
covertcorvid Aug 12, 2024
2876ac3
added fusion test canisters
covertcorvid Aug 13, 2024
171e3b9
makes Tycoon not die
covertcorvid Aug 29, 2024
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
2 changes: 2 additions & 0 deletions SpacemanDMM.toml
Original file line number Diff line number Diff line change
@@ -1,3 +1,5 @@
environment = "nsv13.dme"

[langserver]
dreamchecker = true

Expand Down
Binary file added auxmos.dll
Binary file not shown.
Binary file modified auxtools/auxmos.dll
Binary file not shown.
8 changes: 8 additions & 0 deletions code/__DEFINES/_auxtools.dm
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
/proc/auxtools_stack_trace(msg)
CRASH(msg)

/proc/auxtools_expr_stub()
CRASH("auxtools not loaded")

/proc/enable_debugging(mode, port)
CRASH("auxtools not loaded")
1 change: 0 additions & 1 deletion code/__DEFINES/ai.dm
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,6 @@
#define AI_STATUS_ON 1
#define AI_STATUS_OFF 2


///Monkey checks
#define SHOULD_RESIST(source) (source.on_fire || source.buckled || source.restrained() || (source.pulledby && source.pulledby.grab_state > GRAB_PASSIVE))
#define IS_DEAD_OR_INCAP(source) (source.incapacitated() || source.stat)
Expand Down
25 changes: 25 additions & 0 deletions code/__DEFINES/atmospherics.dm
Original file line number Diff line number Diff line change
Expand Up @@ -146,10 +146,27 @@

#define ATMOS_ADJACENT_ANY (1<<0)
#define ATMOS_ADJACENT_FIRELOCK (1<<1)
//#define CANATMOSPASS(A, O, V) ( A.can_atmos_pass == ATMOS_PASS_PROC ? A.can_atmos_pass(O, V) : ( A.can_atmos_pass == ATMOS_PASS_DENSITY ? !A.density : A.can_atmos_pass ) )
covertcorvid marked this conversation as resolved.
Show resolved Hide resolved

#ifdef TESTING
GLOBAL_LIST_INIT(atmos_adjacent_savings, list(0,0))
#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}
#else
#define CALCULATE_ADJACENT_TURFS(T, state) SSair.adjacent_rebuild[T] = state
#endif

//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
covertcorvid marked this conversation as resolved.
Show resolved Hide resolved
#define TURFS_CAN_SHARE(T1, T2) (LAZYACCESS(T2.atmos_adjacent_turfs, T1) || LAZYLEN(T1.atmos_adjacent_turfs & T2.atmos_adjacent_turfs))
//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.
#define TURF_SHARES(T) (LAZYLEN(T.atmos_adjacent_turfs))

#define CANATMOSPASS(A, O) ( A.CanAtmosPass == ATMOS_PASS_PROC ? A.CanAtmosPass(O) : ( A.CanAtmosPass == ATMOS_PASS_DENSITY ? !A.density : A.CanAtmosPass ) )
#define CANVERTICALATMOSPASS(A, O) ( A.CanAtmosPassVertical == ATMOS_PASS_PROC ? A.CanAtmosPass(O, TRUE) : ( A.CanAtmosPassVertical == ATMOS_PASS_DENSITY ? !A.density : A.CanAtmosPassVertical ) )

///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.
///This is solely to be used after compile-time.
#define TURF_TEMPERATURE(temperature) "TEMP=[temperature]"

//OPEN TURF ATMOS
#define OPENTURF_DEFAULT_ATMOS "o2=22;n2=82;TEMP=293.15" //the default air mix that open turfs spawn
#define OPENTURF_LOW_PRESSURE "o2=14;n2=30;TEMP=293.15"
Expand All @@ -164,6 +181,9 @@
#define ATMOS_TANK_PLASMA "plasma=70000;TEMP=293.15"
#define ATMOS_TANK_O2 "o2=100000;TEMP=293.15"
#define ATMOS_TANK_N2 "n2=100000;TEMP=293.15"
#define ATMOS_TANK_BZ "bz=100000;TEMP=293.15"
#define ATMOS_TANK_PLUOXIUM "pluox=100000;TEMP=293.15"
#define ATMOS_TANK_TRITIUM "tritium=100000;TEMP=293.15"
Comment on lines +182 to +184
Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Did I actually use these anywhere?

#define ATMOS_TANK_AIRMIX "o2=2644;n2=10580;TEMP=293.15"

//LAVALAND
Expand Down Expand Up @@ -325,3 +345,8 @@ GLOBAL_LIST_INIT(pipe_paint_colors, sortList(list(
#define PIPENET_UPDATE_STATUS_DORMANT 0
#define PIPENET_UPDATE_STATUS_REACT_NEEDED 1
#define PIPENET_UPDATE_STATUS_RECONCILE_NEEDED 2

// NSV13 - auxmos
#define ATMOS_ALARM_SEVERE "severe"
#define ATMOS_ALARM_MINOR "minor"
#define ATMOS_ALARM_CLEAR "clear"
185 changes: 185 additions & 0 deletions code/__DEFINES/bindings.dm
Original file line number Diff line number Diff line change
@@ -0,0 +1,185 @@
//THIS FILE IS AUTOMATICALLY GENERATED BY AUXMOS, PLEASE DO NOT TOUCH IT
//PROC DEFINITIONS MAY MOVE AROUND, THIS IS NORMAL

/* This comment bypasses grep checks */ /var/__auxmos

/proc/__detect_auxmos()
if (world.system_type == UNIX)
return __auxmos = "libauxmos"
else
return __auxmos = "auxmos"

#define AUXMOS (__auxmos || __detect_auxmos())

/turf/proc/__update_auxtools_turf_adjacency_info()
return call_ext(AUXMOS, "byond:hook_infos_ffi")(src)

/turf/proc/update_air_ref(flag)
return call_ext(AUXMOS, "byond:hook_register_turf_ffi")(src, flag)

/datum/controller/subsystem/air/proc/process_turfs_auxtools(remaining)
return call_ext(AUXMOS, "byond:process_turf_hook_ffi")(src, remaining)

/datum/controller/subsystem/air/proc/finish_turf_processing_auxtools(time_remaining)
return call_ext(AUXMOS, "byond:finish_process_turfs_ffi")(time_remaining)

/datum/controller/subsystem/air/proc/thread_running()
return call_ext(AUXMOS, "byond:thread_running_hook_ffi")()

/proc/finalize_gas_refs()
return call_ext(AUXMOS, "byond:finalize_gas_refs_ffi")()

/datum/controller/subsystem/air/proc/auxtools_update_reactions()
return call_ext(AUXMOS, "byond:update_reactions_ffi")()

/proc/auxtools_atmos_init(gas_data)
return call_ext(AUXMOS, "byond:hook_init_ffi")(gas_data)

/proc/_auxtools_register_gas(gas)
return call_ext(AUXMOS, "byond:hook_register_gas_ffi")(gas)

/datum/controller/subsystem/air/proc/process_turf_equalize_auxtools(remaining)
return call_ext(AUXMOS, "byond:equalize_hook_ffi")(src, remaining)

/datum/controller/subsystem/air/proc/process_excited_groups_auxtools(remaining)
return call_ext(AUXMOS, "byond:groups_hook_ffi")(src, remaining)

/datum/gas_mixture/proc/__auxtools_parse_gas_string(string)
return call_ext(AUXMOS, "byond:parse_gas_string_ffi")(src, string)

/datum/controller/subsystem/air/proc/get_max_gas_mixes()
return call_ext(AUXMOS, "byond:hook_max_gas_mixes_ffi")()

/datum/controller/subsystem/air/proc/get_amt_gas_mixes()
return call_ext(AUXMOS, "byond:hook_amt_gas_mixes_ffi")()

/proc/equalize_all_gases_in_list(gas_list)
return call_ext(AUXMOS, "byond:equalize_all_hook_ffi")(gas_list)

/datum/gas_mixture/proc/get_oxidation_power(temp)
return call_ext(AUXMOS, "byond:oxidation_power_hook_ffi")(src, temp)

/datum/gas_mixture/proc/get_fuel_amount(temp)
return call_ext(AUXMOS, "byond:fuel_amount_hook_ffi")(src, temp)

/datum/gas_mixture/proc/equalize_with(total)
return call_ext(AUXMOS, "byond:equalize_with_hook_ffi")(src, total)

/datum/gas_mixture/proc/transfer_ratio_to(other, ratio)
return call_ext(AUXMOS, "byond:transfer_ratio_hook_ffi")(src, other, ratio)

/datum/gas_mixture/proc/transfer_to(other, moles)
return call_ext(AUXMOS, "byond:transfer_hook_ffi")(src, other, moles)

/datum/gas_mixture/proc/adjust_heat(temp)
return call_ext(AUXMOS, "byond:adjust_heat_hook_ffi")(src, temp)

/datum/gas_mixture/proc/react(holder)
return call_ext(AUXMOS, "byond:react_hook_ffi")(src, holder)

/datum/gas_mixture/proc/compare(other)
return call_ext(AUXMOS, "byond:compare_hook_ffi")(src, other)

/datum/gas_mixture/proc/clear()
return call_ext(AUXMOS, "byond:clear_hook_ffi")(src)

/datum/gas_mixture/proc/mark_immutable()
return call_ext(AUXMOS, "byond:mark_immutable_hook_ffi")(src)

/datum/gas_mixture/proc/scrub_into(into, ratio_v, gas_list)
return call_ext(AUXMOS, "byond:scrub_into_hook_ffi")(src, into, ratio_v, gas_list)

/datum/gas_mixture/proc/get_by_flag(flag_val)
return call_ext(AUXMOS, "byond:get_by_flag_hook_ffi")(src, flag_val)

/datum/gas_mixture/proc/__remove_by_flag(into, flag_val, amount_val)
return call_ext(AUXMOS, "byond:remove_by_flag_hook_ffi")(src, into, flag_val, amount_val)

/datum/gas_mixture/proc/divide(num_val)
return call_ext(AUXMOS, "byond:divide_hook_ffi")(src, num_val)

/datum/gas_mixture/proc/multiply(num_val)
return call_ext(AUXMOS, "byond:multiply_hook_ffi")(src, num_val)

/datum/gas_mixture/proc/subtract(num_val)
return call_ext(AUXMOS, "byond:subtract_hook_ffi")(src, num_val)

/datum/gas_mixture/proc/add(num_val)
return call_ext(AUXMOS, "byond:add_hook_ffi")(src, num_val)

/datum/gas_mixture/proc/adjust_multi(...)
var/list/args_copy = args.Copy()
args_copy.Insert(1, src)
return call_ext(AUXMOS, "byond:adjust_multi_hook_ffi")(arglist(args_copy))

/datum/gas_mixture/proc/adjust_moles_temp(id_val, num_val, temp_val)
return call_ext(AUXMOS, "byond:adjust_moles_temp_hook_ffi")(src, id_val, num_val, temp_val)

/datum/gas_mixture/proc/adjust_moles(id_val, num_val)
return call_ext(AUXMOS, "byond:adjust_moles_hook_ffi")(src, id_val, num_val)

/datum/gas_mixture/proc/set_moles(gas_id, amt_val)
return call_ext(AUXMOS, "byond:set_moles_hook_ffi")(src, gas_id, amt_val)

/datum/gas_mixture/proc/get_moles(gas_id)
return call_ext(AUXMOS, "byond:get_moles_hook_ffi")(src, gas_id)

/datum/gas_mixture/proc/set_volume(vol_arg)
return call_ext(AUXMOS, "byond:set_volume_hook_ffi")(src, vol_arg)

/datum/gas_mixture/proc/partial_heat_capacity(gas_id)
return call_ext(AUXMOS, "byond:partial_heat_capacity_ffi")(src, gas_id)

/datum/gas_mixture/proc/set_temperature(arg_temp)
return call_ext(AUXMOS, "byond:set_temperature_hook_ffi")(src, arg_temp)

/datum/gas_mixture/proc/get_gases()
return call_ext(AUXMOS, "byond:get_gases_hook_ffi")(src)

/datum/gas_mixture/proc/temperature_share(...)
var/list/args_copy = args.Copy()
args_copy.Insert(1, src)
return call_ext(AUXMOS, "byond:temperature_share_hook_ffi")(arglist(args_copy))

/datum/gas_mixture/proc/copy_from(giver)
return call_ext(AUXMOS, "byond:copy_from_hook_ffi")(src, giver)

/datum/gas_mixture/proc/__remove(into, amount_arg)
return call_ext(AUXMOS, "byond:remove_hook_ffi")(src, into, amount_arg)

/datum/gas_mixture/proc/__remove_ratio(into, ratio_arg)
return call_ext(AUXMOS, "byond:remove_ratio_hook_ffi")(src, into, ratio_arg)

/datum/gas_mixture/proc/merge(giver)
return call_ext(AUXMOS, "byond:merge_hook_ffi")(src, giver)

/datum/gas_mixture/proc/thermal_energy()
return call_ext(AUXMOS, "byond:thermal_energy_hook_ffi")(src)

/datum/gas_mixture/proc/return_volume()
return call_ext(AUXMOS, "byond:return_volume_hook_ffi")(src)

/datum/gas_mixture/proc/return_temperature()
return call_ext(AUXMOS, "byond:return_temperature_hook_ffi")(src)

/datum/gas_mixture/proc/return_pressure()
return call_ext(AUXMOS, "byond:return_pressure_hook_ffi")(src)

/datum/gas_mixture/proc/total_moles()
return call_ext(AUXMOS, "byond:total_moles_hook_ffi")(src)

/datum/gas_mixture/proc/set_min_heat_capacity(arg_min)
return call_ext(AUXMOS, "byond:min_heat_cap_hook_ffi")(src, arg_min)

/datum/gas_mixture/proc/heat_capacity()
return call_ext(AUXMOS, "byond:heat_cap_hook_ffi")(src)

/datum/gas_mixture/proc/__gasmixture_unregister()
return call_ext(AUXMOS, "byond:unregister_gasmixture_hook_ffi")(src)

/datum/gas_mixture/proc/__gasmixture_register()
return call_ext(AUXMOS, "byond:register_gasmixture_hook_ffi")(src)

/proc/process_atmos_callbacks(remaining)
return call_ext(AUXMOS, "byond:atmos_callback_handle_ffi")(remaining)

Loading
Loading