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
Conversation
You sir are a god amongst mappers. |
First we had the most soulful of Plasteel floor sprites. Looked worn and used. 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 This PR cuts it down to: 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. |
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.. |
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
it compiles and i've had enough, someone else can probably figure it out from this point onwards
now we wait for linters to fail
LINTERS AAFAFAFF
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
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
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>
…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>
About The Pull Request
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 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).
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.