-
Notifications
You must be signed in to change notification settings - Fork 34
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
1.0.0 (functions for ZAS, making sure turfs are optional, whatever el…
…se may be needed) (#43) * Some required bits for ZAS * Ratio for share_ratio no longer hardcoded * Documentation, consistency * Cleanup, a bit of memory footprint improvement * More microoptimizations, docs etc. * And a formatting check. * More proper prototypes * Fixes enabled * Embarassing typo * Plasma fire wasn't loading right! * Adjacencies must happen after turfs * Pedantic clippy stuff
- Loading branch information
1 parent
076b1ef
commit 4e1ed42
Showing
16 changed files
with
738 additions
and
354 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.
Oops, something went wrong.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,10 +1,3 @@ | ||
Rust-based atmospherics for Space Station 13 using [auxtools](https://github.com/willox/auxtools). | ||
|
||
Still quite early. Monstermos has an annoying anisotropy--it prefers to go left and right rather than up or down. Up and down are first in the adjacency bitfield (little endian wise), so this isn't *terribly* surprising, but it is annoying. Perhaps it's a problem with the algorithm--am I using a stack instead of a queue? | ||
|
||
This code relies on some byond code on [this fork of Citadel](https://github.com/Putnam3145/Citadel-Station-13/tree/auxtools-atmos). Documentation on this is associated with the individual data structures that hold them, in this repository. | ||
|
||
The compiled binary on Citadel is compiled for Citadel's CPU, which therefore means that it uses [AVX2 fused-multiply-accumulate](https://en.wikipedia.org/wiki/Advanced_Vector_Extensions#Advanced_Vector_Extensions_2). Yes, really. If you have issues, compile it yourself, via `cargo rustc --target=i686-pc-windows-msvc --release --features "all_reaction_hooks" -- -C target-cpu=native`. | ||
|
||
TODO: | ||
I would quite a lot like monstermos to work. | ||
The compiled binary on Citadel is compiled for Citadel's CPU, which therefore means that it uses [AVX2 fused-multiply-accumulate](https://en.wikipedia.org/wiki/Advanced_Vector_Extensions#Advanced_Vector_Extensions_2). Yes, really. If you have issues, compile it yourself, via `cargo rustc --target=i686-pc-windows-msvc --release --features "all_reaction_hooks" -- -C target-cpu=native`. It has to be 32-bit, mind. |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,26 @@ | ||
# 0.2 to 0.3 | ||
|
||
If you're using generic fires, `fire_enthalpy_released` was replaced with a more general `enthalpy`. If you're not, you don't need to do anything in auxgm. | ||
|
||
# 0.3 to 1.0 | ||
|
||
New functions were added: | ||
|
||
1. `/datum/gas_mixture/proc/adjust_moles_temp(gas_type, amt, temperature)` | ||
2. `/datum/gas_mixture/proc/adjust_multi()` (it's variadic, of the form `gas1, amt1, gas2, amt2, ...`) | ||
3. `/datum/gas_mixture/proc/add(amt)` | ||
4. `/datum/gas_mixture/proc/subtract(amt)` | ||
5. `/datum/gas_mixture/proc/multiply(factor)` | ||
6. `/datum/gas_mixture/proc/divide(factor)` | ||
7. `/datum/gas_mixture/proc/__remove_by_flag(taker, flag, amount)` should be paired with a proper remove_by_flag, like remove and remove_ratio | ||
8. `/datum/gas_mixture/proc/get_by_flag(flag)` | ||
|
||
There's also new feature flags: | ||
|
||
1. `turf_processing`: on by default. Enables the hooks for turf processing, heat processing etc. Required for katmos, of course. | ||
2. `zas_hooks`: Adds a `/datum/gas_mixture/proc/share_ratio(sharer, ratio, share_size, one_way = FALSE)` hook. | ||
|
||
Monstermos is now deprecated. Use katmos instead. It inherently has explosive decompression, sorry. | ||
|
||
`fire_products = "plasma_fire"` should be replaced with `fire_products = 0` or, preferably, `fire_products = FIRE_PRODUCT_PLASMA` or similar, with `FIRE_PRODUCT_PLASMA` being `#define FIRE_PRODUCT_PLASMA 0`. String conversion like this is why fires weren't working on linux before; this breaking change is required for it not to be a total hack. | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.