mirror of
https://github.com/Aurorastation/Aurora.3.git
synced 2026-08-18 18:42:08 +01:00
Contains assets, code, maps, etc. for Assunzione and Port Volturno. This is something like v0.9 for live unit testing, etc. Do not merge yet. ### Asset Licenses The following assets that **have not** been created by myself are included in this PR: | Path | Original Author | License | | --- | --- | --- | | icons/obj/structure/urban/arches.dmi | [Fyni](https://github.com/Fyniiy) | CC-BY-SA | | icons/obj/structure/urban/assunzione_neon.dmi | [Fyni](https://github.com/Fyniiy) | CC-BY-SA | | icons/obj/structure/urban/assunzione_signs.dmi (stafylia_sign) | [Fyni](https://github.com/Fyniiy) | CC-BY-SA | | icons/obj/structure/urban/billboard.dmi (sign_assunzione1 & 2) | [Fyni](https://github.com/Fyniiy) | CC-BY-SA | | icons/obj/structure/urban/poles.dmi (radial_floodlight) | [Fyni](https://github.com/Fyniiy) | CC-BY-SA | | icons/obj/structure/urban/restaurant.dmi (menu_gyro) | [Fyni](https://github.com/Fyniiy) | CC-BY-SA | | icons/obj/structure/urban/statues.dmi (aec_small) | [Fyni](https://github.com/Fyniiy) | CC-BY-SA | | icons/obj/pottedplants_big.dmi (luce-vine-plant) | [Fyni](https://github.com/Fyniiy) | CC-BY-SA | | icons/obj/pottedplants_small.dmi (luce-vine-plant) | [Fyni](https://github.com/Fyniiy) | CC-BY-SA | | icons/obj/structure/urban/billboard.dmi (sign_assunzione3) | Minzeyes | CC-BY-SA | | icons/obj/structure/urban/assunzione_96x110.dmi | Minzeyes | CC-BY-SA | | icons/turf/smooth/composite_brick.dmi | [nauticall](https://github.com/nauticall) | CC-BY-SA | --------- Signed-off-by: Batrachophreno <Batrochophreno@gmail.com> Co-authored-by: Kano <89972582+kano-dot@users.noreply.github.com>
33 lines
1.3 KiB
Plaintext
33 lines
1.3 KiB
Plaintext
// Helpers for checking whether a z-level conforms to a specific requirement
|
|
|
|
// Basic levels
|
|
#define is_centcom_level(z) SSmapping.level_trait(z, ZTRAIT_CENTCOM)
|
|
|
|
GLOBAL_LIST_EMPTY(station_levels_cache)
|
|
|
|
// Used to prevent z from being re-evaluated
|
|
GLOBAL_VAR(station_level_z_scratch)
|
|
|
|
// Called a lot, somewhat slow, so has its own cache
|
|
#define is_station_level(z_level) \
|
|
( \
|
|
(z_level) && \
|
|
( \
|
|
/* The right hand side of this guarantees that we'll have the space to fill later on, while also not failing the condition */ \
|
|
(GLOB.station_levels_cache.len < (GLOB.station_level_z_scratch = (z_level)) && (GLOB.station_levels_cache.len = GLOB.station_level_z_scratch)) \
|
|
|| isnull(GLOB.station_levels_cache[GLOB.station_level_z_scratch]) \
|
|
) \
|
|
? (GLOB.station_levels_cache[GLOB.station_level_z_scratch] = !!SSmapping.level_trait(GLOB.station_level_z_scratch, ZTRAIT_STATION)) \
|
|
: GLOB.station_levels_cache[GLOB.station_level_z_scratch] \
|
|
)
|
|
|
|
#define is_portofcall_level(z) SSmapping.level_trait(z, ZTRAIT_PORTOFCALL)
|
|
|
|
#define is_mining_level(z) SSmapping.level_trait(z, ZTRAIT_MINING)
|
|
|
|
#define is_reserved_level(z) SSmapping.level_trait(z, ZTRAIT_RESERVED)
|
|
|
|
#define is_away_level(z) SSmapping.level_trait(z, ZTRAIT_AWAY)
|
|
|
|
#define is_secret_level(z) SSmapping.level_trait(z, ZTRAIT_SECRET)
|