Commit Graph

14 Commits

Author SHA1 Message Date
SimplyLogan 2faa874b3b Speed up Mapper testing with a prefix "maptest_" in VSCode (#93238)
## About The Pull Request

One of the development hell cycles with mapping is how long it takes to
fix quality or run issues with maps.

By adding a prefix called "maptest_" to some of the unit tests it allows
mappers to only target some tests instead of the usual 350+ tests to run
each time or trying to trigger them individually and faffing.

This does not rename the unit test files themselves to preserve history
but just the "/datum/unit_test/" in each file.

This does not break the current CI or obstruct other tests - A few other
map files that call these tests specifically have been edited to point
at the new datum name.

This assumes you are using the TG testing extension to do this.

| All Tests | maptest_ |
|--------|--------|
| <img width="426" height="106" alt="image"
src="https://github.com/user-attachments/assets/d1d6f81e-16bd-473a-88da-e8b56f8bd3d0"
/> | <img width="434" height="96" alt="image"
src="https://github.com/user-attachments/assets/ea1c47fe-a6ce-40c6-b2cb-65b9c8e94a29"
/> |
| <img width="360" height="886" alt="image"
src="https://github.com/user-attachments/assets/65bcd774-79ad-432e-8211-c67fb9d3e443"
/> | <img width="370" height="833" alt="Screenshot 2025-10-01 204609"
src="https://github.com/user-attachments/assets/ad360796-5698-42fd-bd2e-51de1a02ab87"
/> |
## Why It's Good For The Game

- Should make it easier for mappers to test locally, saving CI/Github
resource for TG
- Mappers can now test their work 56% faster
## Changelog
🆑
code: Mappers can now run just mapping unit tests - Should be 56% faster
- Should have no player impact
/🆑

Co-authored-by: loganuk <falseemail@aol.com>
2025-10-05 16:25:51 -06:00
Tim ff7fb30783 Automatically link maps multi-z up/down traits (#87029)
## About The Pull Request
This autoloads the up/down traits for every map instead of having to
manually add those traits to the JSON.

## Why It's Good For The Game
More automation good. Also let's people experiment with larger maps like
a multi-z lavaland.

## Changelog
🆑
code: Automatically link maps multi-z up/down traits
/🆑
2024-10-04 01:25:09 +02:00
Waterpig e143e52a8a Moves the departmental delivery area check to a unit test so it stops spamming logs (#83215)
## About The Pull Request

So, thanks to the map not being loaded yet when jobs are initialized,
the logs are needlessly spammed by a check that can never pass.

![image](https://github.com/tgstation/tgstation/assets/49160555/add92847-9d41-49b0-a951-4f40fdfd283f)

Also adds some possible locations to engineering and science

As such, I just moved all this logging stuff and screaming at
mappers/coders into a unit test. I honestly only have very vague
understanding of how these work so someone with more knowledge please
check if I did everything right.
2024-05-15 08:17:18 +00:00
MrMelbert 21addc3619 Fix flakey spy bounty test failures (#81937)
## About The Pull Request

Closes #81890 
Closes #81951

The spy bounty test will occasionally fail to generate bounties on
Gateway Test (and even more rarely, Runtime Station) due to the nature
of these maps not having everything a station is expected to have (to
use for steal targets).
2024-03-12 03:16:36 +00:00
LemonInTheDark 4d1e34322f Macros multi-z code, removes the false premise of manual offsets (#76248)
## About The Pull Request

[Removes the pretense of relative multiz
levels](https://github.com/tgstation/tgstation/pull/76248/commits/0293fdc2bd8c8af7a0d18da33265e060789c71f7)

Our multiz system does not support having a z level that is only
connected one way, or which goes down backwards or anything like that.

That's a fiction of the trait system, the actual backend has never
really supported this.

This pr removes the assumptions we were making backend around this, and
uses that to save cpu time.

I am also converting multiz_levels from an assoc list to a pure one,
which saves significantly on access times and cleans up the code
somewhat.

Also I'm making the get_below/get_above procs into macros, for the sake
of cpu time.

[Converts the starlight disease to use BYOND's directional defines
instead of our
own](https://github.com/tgstation/tgstation/commit/7d698f02d991eb4e1bde56314c657cf6e48ceb5d)

To some extent spurred on by
https://github.com/DaedalusDock/daedalusdock/pull/298, tho it was known
before

## Why It's Good For The Game

Faster multiz code, faster init, etc etc etc
2023-07-05 18:31:27 -06:00
MrMelbert 4de3df461e [MDB Ignore] Adds a unit test for typepaths that are required to be mapped onto each station map (#74985)
## About The Pull Request

Inspired by #74967 and #68459 , and the fact that Tramstation regresses
very often -

Adds a unit test, `required_map_items`, which ensures that certain
typepaths which should definitely be mapped onto every map is mapped
onto every map

It can also be used to ensure that items which should not be mapped in
multiple times are not, among other things.

I included a few examples - 
- Min 1, max inf of each head of staff stamps
- Min 1, max 1 departmental order consoles
- Min 1, max inf comms console
- Min 1, max 1 Pun Pun
- Min 1, max 1 Poly
- Min 1, max 1 Ian

If, in the future, a mapper decides they (for some reason) do not want a
certain previously-required item on their map, the test can be adjusted
such that it allows excluding or something, but currently it should be
for items which require conscious thought about.

#### QA: Why not make this a linter?

I attempted to make this a linter before realizing two things
1. Someone might make a spawner which spawns the items, or they might
get placed in a locker, in any case this accounts for everything on init
2. Linters run on every map, non-station maps included

So I went with a test

## Why It's Good For The Game

#50468
#61013
#74967

Why is it always the CMO stamp?

## Changelog

Not necessary (unless I find a map missing something, then this will be
updated)
2023-05-04 15:20:25 -06:00
MrMelbert aacc85964a Adds a unit test that all roundstart spawnable jobs have a landmark to spawn at (#74995)
## About The Pull Request


https://github.com/tgstation/tgstation/pull/74985#issuecomment-1523773626

Tests that all jobs that have `spawn_position > 0` at roundstart have a
location to spawn at.

Also changes the failure message for
`get_default_roundstart_spawn_point` to send to `log_mapping` rather
than `log_world`, as it is a map error and log world doesn't really help
anyone. This would've been sufficient for the existing unit test
`log_mapping`, but that unit test expects that the log has an areacoord
supplied, which we can't really do, given we're reporting a _lack_ of
something.

## Why It's Good For The Game

Stops maps from regressing and dumping people on the latejoin shuttle
roundstart.

## Changelog

~~Not necessary unless I find a map which forgot a landmark~~

🆑 Melbert
fix: Tramstation Robotics and RD now spawn in their departments
roundstart
fix: Birdboat detective now spawns in their office
/🆑
2023-05-04 14:03:49 -06:00
Qustinnus 6424b6136e Turns transparency for turfs into an element, and gives it to datum materials. (#54250) 2020-11-03 15:05:54 -08:00
Jordan Brown 94b076bd5a Out of repo maps part 1: JSON Improvements (#53663)
Replaces the map job changes code system with a JSON based one.
Added map versioning to the config JSON.
Formats map config JSONs.
2020-10-22 20:29:32 -03:00
jdawg1290 62676e72a8 Force LF line endings with gitattributes and convert repo (#52266)
Co-authored-by: Aleksej Komarov <stylemistake@gmail.com>
2020-07-16 03:02:40 +03:00
Qustinnus 2c9a9d90ac Adds glass floors (That work with multi-z) (#50831) 2020-05-06 05:03:10 -07:00
Dennok ef7e4ee365 Set Linkage traits in multiz debug map config (#49339) 2020-02-16 15:29:07 -08:00
Dennok 879519544f MultiZ baseturfs
Now MultiZ Debug map has proper baseturf. No more space under 2 lvl plating.
2020-02-04 21:36:30 +02:00
kevinz000 10d846022a [READY]MultiZ stuff - tile atmos, movement backend, falling backend, etc etc - Electric boogaloo (#40428)
Basic multiZ mob movement procs (Observers can always move)
Open space, showing what things are below it, and everything that entails. No complex support for dynamic generation just yet.
Decide how openspace should look :/

    Atoms falling through open space (NO MOB SUPPORT/DAMAGE/ANYTHING YET.)

//CANCELLED FOR ANOTHER PR - [ ] Being able to see upwards? Downwards is going to be handled by open space.

MultiZ tile atmospherics - EDIT: Working demo! https://puu.sh/B7mUs/3f6274740f.mp4
Bugtest the heck out of this trainwreck.
2018-12-11 22:09:59 +13:00