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

Four Corners, Red Rover: An Exploration in Decal Trends [MDB IGNORE] #65290

Merged
merged 8 commits into from Mar 13, 2022

Conversation

san7890
Copy link
Member

@san7890 san7890 commented Mar 4, 2022

About The Pull Request

You there! What exactly is wrong with this photograph?!

image

You don't need to tell me, I've boxed it out. There's four individual corners for the decalling. This is weird. You may be asking: Why don't they use the "full tile" turf decals? Let me demonstrate.

image

Look at the difference between the one at left and the one in the middle. The turf decal totally smothers the nice contrast lines afforded to use by the base turf, causing it to have smooth, clammy exterior. This is probably why no mapper ever uses the full turf decal, much to the chagrin of people who stare at how big the size of this repo is.

Now, what's that on the right? Why, it's the new sprite (and pathing I made) to help counter-act this issue! This perfectly lines up with the contrast lines of the base turf, allowing us to have a non-flattened visualization, while not having four fucking turf decals a turf load upon initialization. How epic!

image

I've also added "contrasted" variants of the "half" and "anticorner" turf decals for future use. I probably won't go through and update this across the maps in this PR, but the opportunity remains available.

I mapped this change in over all the instances I could see. Feel free to add onto my work.

Why It's Good For The Game

Less var_edits, to keep coders happy.
Less instances of similar objects loading, may help with loading (unverified claim that I do not plan on verifying so don't quote this as being a performance change, i just think less things mean that load go faster)
More happy mappers with more tools to save time as they draw across this canvas we call life (and .dmm files).

image

Changelog

🆑
add: Instead of having four different corners on each floor, Nanotrasen has decided to slap down full corners on each floor to keep that one floor looking that masterful shade of beige.
/:cl:

My GitHub Webpage is lagging to shit writing this out so please exercise caution and have a prayer in your heart if you want to explore beyond this point.

@tgstation-server tgstation-server added Map Edit Thank you for your tile-placing service. It's always appreciated. Feature Exposes new bugs in interesting ways Sprites A bikeshed full of soulless bikes. labels Mar 4, 2022
@CRITAWAKETS
Copy link
Contributor

You sir are a god amongst mappers.

@Zytolg
Copy link
Contributor

Zytolg commented Mar 4, 2022

First we had the most soulful of Plasteel floor sprites. Looked worn and used.
They stole that from us.
They updated the tile decal and then expanded upon it, giving us half tiled turfs, corner tiled turfs, and full tiled turfs.
They lacked companion decals on terms of tiling however.
I asked @Imaginos16 to bless us with tiles for the new turfs. He delivered.
That's the modern history of stuff related to this PR.

Ask yourself. Is having the specific 4 tiled fulltile turf worth the bloat in the environment window? That's going to be the weakest point of this PR. As one of the "Old Guard", I'm pretty neutral on this going in or not. If it does, then neat, I'll use it. If it doesn't, I don't care. I'll continue what I do best. If this does make it in though, I expect the PR Owner to go in and add all of their decals to all the maps where they are applicable. It's busy work that nobody is going to do and this PR isn't going to change much unless those decals replace the decals they intend to replace.

@san7890
Copy link
Member Author

san7890 commented Mar 5, 2022

Ask yourself. Is having the specific 4 tiled fulltile turf worth the bloat in the environment window? That's going to be the weakest point of this PR. As one of the "Old Guard", I'm pretty neutral on this going in or not. If it does, then neat, I'll use it. If it doesn't, I don't care. I'll continue what I do best. If this does make it in though, I expect the PR Owner to go in and add all of their decals to all the maps where they are applicable. It's busy work that nobody is going to do and this PR isn't going to change much unless those decals replace the decals they intend to replace.

It's one extra decal (three) (EDIT: Per color. It's still another subtype, which means that it's a drop-down under the base decal in sDMM. Apologies.) We have several turf decals already. I am not of the belief that adding one (three) things to the environment tree is "bloat" especially when you cut down on 30,000 extra lines and don't need to manually add every corner.

Also, keep in mind what this is replacing. Any special turf decalling with FOUR corners will show up. Imagine a table with three objects on it, on top of a four-cornered tile. In the right-click menu, that is:

Object One
Object Two
Object Three
Table
Corner One
Corner Two
Corner Three
Corner Four
Turf
Area

This PR cuts it down to:
Object One
Object Two
Object Three
Table
Corner Decalling
Turf
Area

Now, let's think. This PR adds three things to the environment tree, and only ONE of them can remove FOUR items on the right-click menu. There's only one environment tree, but there's certainly more than one turf with four different corners on it.

This PR doesn't remove old functionality. If you want to manually add four separate corners to a map, the functionality is there. If you want beauty to appear without having to add four separate corners, there is now new functionality.

Food for thought.

@Tastyfish
Copy link
Contributor

Now for someone to make the in-game floor tile skinning menu not awful.

@github-actions github-actions bot added the Merge Conflict Adding upstream files to your repo via drag and drop won't resolve conflicts label Mar 6, 2022
@tgstation-server tgstation-server removed the Merge Conflict Adding upstream files to your repo via drag and drop won't resolve conflicts label Mar 7, 2022
@github-actions github-actions bot added the Merge Conflict Adding upstream files to your repo via drag and drop won't resolve conflicts label Mar 7, 2022
@tgstation-server tgstation-server removed the Merge Conflict Adding upstream files to your repo via drag and drop won't resolve conflicts label Mar 7, 2022
@github-actions github-actions bot added the Merge Conflict Adding upstream files to your repo via drag and drop won't resolve conflicts label Mar 8, 2022
@tgstation-server tgstation-server removed the Merge Conflict Adding upstream files to your repo via drag and drop won't resolve conflicts label Mar 8, 2022
@github-actions github-actions bot added the Merge Conflict Adding upstream files to your repo via drag and drop won't resolve conflicts label Mar 9, 2022
@tgstation-server tgstation-server removed the Merge Conflict Adding upstream files to your repo via drag and drop won't resolve conflicts label Mar 10, 2022
@github-actions github-actions bot added the Merge Conflict Adding upstream files to your repo via drag and drop won't resolve conflicts label Mar 11, 2022
@tgstation-server tgstation-server removed the Merge Conflict Adding upstream files to your repo via drag and drop won't resolve conflicts label Mar 11, 2022
@Inari-Whitebear
Copy link
Contributor

Now for someone to make the in-game floor tile skinning menu not awful.

And to add an option to do half those decals in the game..

@github-actions github-actions bot added the Merge Conflict Adding upstream files to your repo via drag and drop won't resolve conflicts label Mar 11, 2022
@ShizCalev
Copy link
Member

ShizCalev commented Mar 11, 2022

conflicts. shoot me a pm once they're fixed and i'll merge it on the spot so it doesn't happen again

You there! What exactly is wrong with this photograph?!

You don't need to tell me, I've boxed it out. There's four individual corners for the decalling. This is weird. You may be asking: Why don't they use the "full tile" turf decals? Let me demonstrate.

Look at the difference between the one at left and the one in the middle. The turf decal totally smothers the nice contrast lines afforded to use by the base turf, causing it to have smooth, clammy exterior. This is probably why no mapper ever uses the full turf decal, much to the chagrin of people who stare at how big the size of this repo is.

Now, what's that on the right? Why, it's the new sprite (and pathing I made) to help counter-act this issue! This perfectly lines up with the contrast lines of the base turf, allowing us to have a non-flattened visualization, while not having four fucking turf decals a turf load upon initialization. How epic!

I've also added "contrasted" variants of the "half" and "anticorner" turf decals for future use. I probably won't go through and update this in this PR, but the opportunity remains available.

I may or not map this change across all the maps. We shall see.
we love vsc
i forgot a bunch of potential edgecases so we'll have to go back. yellow should be fine but neutral, dark, blue, and green should get a second look over
found some stuff, probably missed out on others. let us commence forth
nearly a fucko bwoingo
it compiles and i've had enough, someone else can probably figure it out from this point onwards
@tgstation-server tgstation-server removed the Merge Conflict Adding upstream files to your repo via drag and drop won't resolve conflicts label Mar 13, 2022
now we wait for linters to fail
@ShizCalev ShizCalev merged commit 759d24a into tgstation:master Mar 13, 2022
github-actions bot added a commit that referenced this pull request Mar 13, 2022
@san7890 san7890 deleted the CORNERSPISSOFF branch March 13, 2022 03:46
optimumtact pushed a commit that referenced this pull request Mar 24, 2022
Hey there,

This PR is a continuation of #65290. I was not aware that there was an actual use case for these, so I decided to make them as soon as I became aware of it.

image

But what are "these"? Basically, these just add two new types of decals, opposing corners. On the left, you have the current functionality (which will still remain after this PR): adding two different "tile/purple" with different dirs on the same tile to give that effect. HOWEVER, on the right, this has been flattened into one singular turf decal: "tile/purple/opposingcorners". Very cool.

In summation, instead of having multiple corners on one tile to represent the "opposing effect" (as in having one corner in the top left and one in the bottom right) with it being the same color, you now only need one of these turf decals.

Unlike the other PR, this change is not mapped in.
Why It's Good For The Game

Less map key bloat, mappers only have to click a certain tile once if they want, more versatility, etc.

Also: please let me know if I need to change the dirs around for the current sprites. I just went off what made sense to me.
Changelog

cl
imageadd: Nanotrasen has upgraded "that machine that prints all of those decals on our station tiles" to now print two corners that face opposite each other at the same time. Very cool!
/cl
LordVollkorn pushed a commit to LordVollkorn/ChemistryStation that referenced this pull request Apr 6, 2022
Hey there,

This PR is a continuation of tgstation#65290. I was not aware that there was an actual use case for these, so I decided to make them as soon as I became aware of it.

image

But what are "these"? Basically, these just add two new types of decals, opposing corners. On the left, you have the current functionality (which will still remain after this PR): adding two different "tile/purple" with different dirs on the same tile to give that effect. HOWEVER, on the right, this has been flattened into one singular turf decal: "tile/purple/opposingcorners". Very cool.

In summation, instead of having multiple corners on one tile to represent the "opposing effect" (as in having one corner in the top left and one in the bottom right) with it being the same color, you now only need one of these turf decals.

Unlike the other PR, this change is not mapped in.
Why It's Good For The Game

Less map key bloat, mappers only have to click a certain tile once if they want, more versatility, etc.

Also: please let me know if I need to change the dirs around for the current sprites. I just went off what made sense to me.
Changelog

cl
imageadd: Nanotrasen has upgraded "that machine that prints all of those decals on our station tiles" to now print two corners that face opposite each other at the same time. Very cool!
/cl
@san7890 san7890 added this to the Mega-Mega-Map-Reworks milestone May 26, 2022
ZephyrTFA added a commit that referenced this pull request Mar 24, 2023
Alt Title: The End Of The 12 Month War
## About The Pull Request

### Hey! Listen! This PR _will_ cause a merge conflict with your PR!
Please ensure that you have the knowledge on how to handle merge
conflicts, found here:
https://hackmd.io/@tgstation/ry4-gbKH5#Assured-Merge-Conflict-Resolution

Supercedes #74023 entirely.

Port of the tooling introduced in
BeeStation/BeeStation-Hornet#7970 (we already
had everything else), modified to meet /tg/'s requisites and culling
anything that was not entirely relevant (that I could see). It's not the
end of the world if I missed something tbh. Some aspects were commented
out since they may be relevant to downstreams who port this PR or to
enable (what I see to be) un-necessary warnings.

This is a culmination of a year's efforts, starting with _Red Rover,
Four Corners_ (#65290) and later _Opposing Corners_ (#65455). If you
don't understand why this PR exists or why it's necessary, I recommend
reading both of those.

Since then, several mappers (both in their own mapping as well as
tailored PRs) have worked on "flattening" out these tile turfs, however
I've continually wanted a function that would mass automate it (outlined
here https://tgstation13.org/phpBB/viewtopic.php?t=31872 - This
functionality might still be useful if added to UpdatePaths or another
type of script thereof, but I no longer have reason to keep the bounty
up).

It's finally here! Yippie! A new python file, courtesy of itsmeow at
BeeStation. Very awesome. As previously mentioned, a lot of alterations
had to be made for our mapping desires, but the results are quite
agreeable. There's a few assertions that this file makes that I had to
address:

* We have "colorless" tile decals. These are transparent, so they don't
do anything. By default, bee would make these "white tiles", but we have
no such thing. I decided to just add a maplint and an UpdatePaths to
guard against this silliness (only Delta and Tram) had it.
* For some reason, it labels already-converted decals with the default
direction as an error state. I might touch this up in the coming hours,
but for now I surpressed the error due to how many false warnings it was
spitting out.

There's a few ways this tool can be improved, but I lack the knowledge
on how to do so:
* Make it so that we can run the map merger to fix the keys of the map
in the `update_map` function, rather than run the fixer-upper python
file. We can live without this to be honest. It's actually slightly good
because it forces you to look at all of the MapMerge Warnings, and you
can ascertain any potential errors without it silently passing you by
and hitting the repository (or at least those that we haven't linted for
yet).
* Be able to pass in any regex to "flatten" anything. That's way out of
scope for what I want to do here though.

## How do you use this tool?

I made a readme.
https://github.com/tgstation/tgstation/blob/363852cb17fa46dad8fd20e261f8f665f3e008bb/tools/MapTileAggregator/readme.md
### Mapping March
oh hey it's pretty neat that this PR came out in mapping march, what a
nice qol for mappers as the month enters the home stretch. ckey is
san7890

## Why It's Good For The Game

slimmer DMM files, better mapping practices. cool new tool. so nice.
## Changelog
Nothing that really affects players, but a short summary for all those
reading this PR:

* All "corner" turf decals are flattened, and there's now a tool that we
store that you can re-run to keep stuff flat in case you like mapping
one way and want to fix it at the end.
* We (should) now lint against useless uncolored turf decals since that
was completely garbo as far as our codebase is concerned.
* UpdatePaths for fixing up uncolored turf decals, yippie!


If you want to review this PR, may I suggest the file filter. You don't
need to look at any of the DMM files I already did:

![image](https://user-images.githubusercontent.com/34697715/226787961-ab82cad4-5d6d-4788-a7bd-5071aac825c4.png)

---------

Co-authored-by: Zephyr <12817816+ZephyrTFA@users.noreply.github.com>
scriptis pushed a commit to scriptis/tgstation that referenced this pull request Apr 1, 2023
…74169)

Alt Title: The End Of The 12 Month War
## About The Pull Request

### Hey! Listen! This PR _will_ cause a merge conflict with your PR!
Please ensure that you have the knowledge on how to handle merge
conflicts, found here:
https://hackmd.io/@tgstation/ry4-gbKH5#Assured-Merge-Conflict-Resolution

Supercedes tgstation#74023 entirely.

Port of the tooling introduced in
BeeStation/BeeStation-Hornet#7970 (we already
had everything else), modified to meet /tg/'s requisites and culling
anything that was not entirely relevant (that I could see). It's not the
end of the world if I missed something tbh. Some aspects were commented
out since they may be relevant to downstreams who port this PR or to
enable (what I see to be) un-necessary warnings.

This is a culmination of a year's efforts, starting with _Red Rover,
Four Corners_ (tgstation#65290) and later _Opposing Corners_ (tgstation#65455). If you
don't understand why this PR exists or why it's necessary, I recommend
reading both of those.

Since then, several mappers (both in their own mapping as well as
tailored PRs) have worked on "flattening" out these tile turfs, however
I've continually wanted a function that would mass automate it (outlined
here https://tgstation13.org/phpBB/viewtopic.php?t=31872 - This
functionality might still be useful if added to UpdatePaths or another
type of script thereof, but I no longer have reason to keep the bounty
up).

It's finally here! Yippie! A new python file, courtesy of itsmeow at
BeeStation. Very awesome. As previously mentioned, a lot of alterations
had to be made for our mapping desires, but the results are quite
agreeable. There's a few assertions that this file makes that I had to
address:

* We have "colorless" tile decals. These are transparent, so they don't
do anything. By default, bee would make these "white tiles", but we have
no such thing. I decided to just add a maplint and an UpdatePaths to
guard against this silliness (only Delta and Tram) had it.
* For some reason, it labels already-converted decals with the default
direction as an error state. I might touch this up in the coming hours,
but for now I surpressed the error due to how many false warnings it was
spitting out.

There's a few ways this tool can be improved, but I lack the knowledge
on how to do so:
* Make it so that we can run the map merger to fix the keys of the map
in the `update_map` function, rather than run the fixer-upper python
file. We can live without this to be honest. It's actually slightly good
because it forces you to look at all of the MapMerge Warnings, and you
can ascertain any potential errors without it silently passing you by
and hitting the repository (or at least those that we haven't linted for
yet).
* Be able to pass in any regex to "flatten" anything. That's way out of
scope for what I want to do here though.

## How do you use this tool?

I made a readme.
https://github.com/tgstation/tgstation/blob/363852cb17fa46dad8fd20e261f8f665f3e008bb/tools/MapTileAggregator/readme.md
### Mapping March
oh hey it's pretty neat that this PR came out in mapping march, what a
nice qol for mappers as the month enters the home stretch. ckey is
san7890

## Why It's Good For The Game

slimmer DMM files, better mapping practices. cool new tool. so nice.
## Changelog
Nothing that really affects players, but a short summary for all those
reading this PR:

* All "corner" turf decals are flattened, and there's now a tool that we
store that you can re-run to keep stuff flat in case you like mapping
one way and want to fix it at the end.
* We (should) now lint against useless uncolored turf decals since that
was completely garbo as far as our codebase is concerned.
* UpdatePaths for fixing up uncolored turf decals, yippie!


If you want to review this PR, may I suggest the file filter. You don't
need to look at any of the DMM files I already did:

![image](https://user-images.githubusercontent.com/34697715/226787961-ab82cad4-5d6d-4788-a7bd-5071aac825c4.png)

---------

Co-authored-by: Zephyr <12817816+ZephyrTFA@users.noreply.github.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Feature Exposes new bugs in interesting ways Map Edit Thank you for your tile-placing service. It's always appreciated. Sprites A bikeshed full of soulless bikes.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

7 participants