Commit Graph

54 Commits

Author SHA1 Message Date
MrMelbert
240fd8391a Removes unused mapgenerator landmarks (#70260)
* Removes mapgenerator landmarks

* It's unused why is it missing breaking CI

* :(

* Fixes the error

create and destroy was blowing up its enclosure, exposing basic space to air, which causes runtimes because basic space has literally nothing

Co-authored-by: LemonInTheDark <58055496+LemonInTheDark@users.noreply.github.com>
2022-10-04 00:14:45 -04:00
LemonInTheDark
dff635b7f6 Atmos init speedup, saves 4 seconds (#69697)
* Micro optimizes ssair's turf init, saving 2 seconds

Most of this is making existing operations do more legwork, or cheaper.
I did add cycle checking to ONLY init turf linking, which required
creating a new proc.
Did some horrible horrible things in said proc to save like 0.8 seconds.
I think it was worth it.
2022-09-06 02:53:46 -07:00
san7890
1c02345f66 Turns the readme.txt for Procedural Mapping into an MD. (#67312)
last change

Turns the readme.txt for Procedural Mapping into an MD.

Hey there,

TXT files describing a function in raw text are so 2006. We have advanced tools for this now. Let's turn this into a markdown!

I re-formatted all of the words that were placed here over the years to fit the MD format, but all of the actual information should match feature parity.
2022-05-27 10:16:34 -04:00
DragonTrance
89650214fd [MDB Ignore] Refactoring Flora code (#66978)
* organizing flora file and icon states, & flags

Changes the typepath for a lot of flora, and adds new paths depending on the amount of icon states the flora had, for better modularization on mappers. Also adds flags to the flora depending on what type it was, instead of 3 bools

* Getting ready to attempt to modularize flora

Moving most vars and procs from ash flora into the normal flora type path, as a general preparation to add more here

* Weighted products & Region Messages

Rewrites flora code so a flora's produced items can be initialized with a weighted list. Also has some improvements, relating to item stacks.

Adds an option via variables to separate 3 messages into 3 possible regions, or the old method where the message changes when the value is exactly the same as the low or high harvest value

* organizing + documentation on procs

* Documentation, Organization & Modularization

(DOMing) yeah, I dom
Gives variables for tools that can harvest flora, a blacklist of them, and modularizes variables a bit.

Retypes the stump to be a subtype of a tree, which just deletes after being harvested

* Adds the ability to uproot flora with a shovel

* added eswords to the list of things that can cut

* ausbush junk

* code review appreciation + changing drag_slowdown

* more code review appreciation

* kirbyplants ComponentInitialize() -> Initialize()

* forgot glob.
2022-05-16 00:00:54 -07:00
LemonInTheDark
0e904f7032 [MDB IGNORE] Moves non floor turfs off /floor. You can put lattices on lavaland edition (#65504)
About The Pull Request

Alternative to #65354

Ok so like, there was a lot of not floor types on /floor. They didn't actually want any of their parent type's functionality, except maybe reacting to breaking (which was easy to move down) and some other minor stuff.
Part of what we don't want them to have is "plateable" logic.
I should not be able to put floor tiles on the snow and be fine. It's dumb.

Instead, I've moved all non floor types down to a new type, called /misc.

It holds very little logic. Mostly allowing pipes and wires and preventing blob stuff.
It also supports lattice based construction, which is one of the major changes here. I think it makes more sense, and it fixes an assumption in shuttle code that assumed you couldn't place "a new tile" by just hitting some snow with a floor tile.
Oh and lattices don't smooth with asteroid tiles anymore, this looks nicer I think.

Moving on to commits, and minor changes

Changes clf3 to try and burn any turfs it's exposed to, instead of just floors
Moves break_tile down to the turf definition, alongside burn_tile
If you're in basic buildmode and click on anything that's not handled in a targeted way, you just build plating
FUNCTION CHANGE: you can't use cult pylons to convert misc tiles over anymore
Generalizes building floors on top of something into two helper procs on /turf/open, reducing copypasta
Adds a new turf flag, IS_SOLID, that describes if a turf is tangible or not.
Uses this alongside a carpet and open check to replace plating and floor checks in carpet code. This does mean that non iron tiles can be carpeted, but I think that's fine

Moves the /floor update_icon -> update_visuals call to /open
This change is horrificly old, dating back to 8e112f6 but that commit describes nothing about why it was done. Choosing to believe it was a newfriend mistake. Uncomfortable nuking it though, because of just how old it is. Moving down instead

Create a buildable "misc" type off open, moves /dirt onto it
Basically, we want a type we can use to make something support
construction, since that can be a messy bit of logic. Also enough
structure to set things up sanely.

I'm planning on moving most misc turfs onto it, if only because
constructing on a dirt tile with rods should be possible, and the same
applies to most things

Murders captain planet, disentangles /turf/open/floor/grass/snow/basalt

Adds a diggable component that applies the behavior of "digging"
something out from a turf.

Uses it to free the above pain typepath into something a bit more
sensible

The typepaths that aren't actually used by floor tiles are moved onto
/misc

The others are given names that better describe them, and kept in
fancy_floor

Oh and snowshoes don't work on basalt anymore, sorry

Snowed over platings now actually have broken/burned icon states, fixing black holes to nowhere

Misc turfs no longer smooth as floors, so lattices will ignore them

Placing a lattice will no longer scrape the tile it's on

Ok this is a really old one.
I believe this logic is a holdover from kor's baseturf pr
(97990c9)
It used to be that turfs didn't have a concept of "beneath" and instead
just decided what should be under them by induction. This logic of "if
it's being latticed scapeaway to space" made sense then, but has since
been somewhat distorted

We do want to scape away on lattice spawn sometimes, mostly when we're
being destroyed, but not always. We especially don't want to scape away
if someone is just placing a rod, that's dumb.

Adds a path updating script for this change

I've done my best to find all the errors this repathing will pull out, but I may have missed some. I'm sorry.
Why It's Good For The Game

Very old code made better, more consistent turfs for lavaland and icebox, better visuals, minor fix to snowed plating, demon banishment in lattice placement, fixes the icebox mining shuttle not being repairable
Changelog

cl
add: Rather then being tileable with just floor tiles, lavaland turfs, asteroid and snow (among other things) now support lattice -> floor tile construction
fix: Because of the above, you can now properly fix the icebox mining shuttle
refactor: Non floor turfs are no longer typed as floor. This may break things, please yell at me if it does
/cl
2022-03-16 15:55:56 +13:00
Ghom
b79dd74fd0 Replaces a portion of C-style for loops with the more commonplace for loops, which are faster. (#62624)
Co-authored-by: Kyle Spier-Swenson <kyleshome@gmail.com>
2021-11-07 16:42:41 -08:00
John Willard
6c0aba5da4 removes double spaces AFTER symbols (#62515)
* removes double spaces AFTER symbols

* found more
2021-11-03 21:09:35 -04:00
Ghilker
682e7132b5 cleanup of _HELPERS/game.dm (#61859)
some more cleanup, game.dm this time
2021-10-03 16:51:52 -04:00
Fikou
c0f9d2e7e8 [READY] Tile Reskinning 2: Epic Winaloo (#58801)
extends the tile reskinning functionality to iron, bronze, plastitanium, carpet and pod floors
makes a bit of tile code better
moves some paths around, like elevator shafts being plating instead of floor
adds rotating as a tile reskinning function available on chapel or side floors for example

lets players customize any rooms they would want much more than it is possible now, allowing for more creativity
2021-05-01 02:20:45 -07:00
Mothblocks
0f435d5dff Remove hideous inline tab indentation, and bans it in contributing guidelines (#56912)
Done using this command sed -Ei 's/(\s*\S+)\s*\t+/\1 /g' code/**/*.dm

We have countless examples in the codebase with this style gone wrong, and defines and such being on hideously different levels of indentation. Fixing this to keep the alignment involves tainting the blames of code your PR doesn't need to be touching at all. And ultimately, it's hideous.

There are some files that this sed makes uglier. I can fix these when they are pointed out, but I believe this is ultimately for the greater good of readability. I'm more concerned with if any strings relied on this.

Hi codeowners!

Co-authored-by: Jared-Fogle <35135081+Jared-Fogle@users.noreply.github.com>
2021-02-14 16:53:29 -08:00
Fikou
f6dfc68360 repaths plasteel tiles to iron (#56644)
Repaths plasteel tiles and turfs to iron. We're in too deep to back out now
2021-02-06 13:53:08 -08:00
LemonInTheDark
6d1cb94ffb LINDA Reforged (#55604)
Speeds up gas movement significantly
Documents the intent and finer details of the atmos system (Thanks dunc)
Fixes excited groups constantly rebuilding, this broke 4 years ago
Fixes superconductors just straight up not working
Allows turfs to sleep while inside an excited group
Adds a new subprocess to SSAir to support rebuilding in this state
Most heat based behavior no longer relies on being inside a fire
Adds a new element to support doing this cleanly
Adds a new subprocess to SSAir to support doing this while a turf is asleep
Refactors air_update_turf to allow for finer control
Makes apcs take damage in heat to prevent infinite plasma fire diffs
Cleans up immutable gas mixtures to make them work properly when the mix has gas in it
Planetary turfs no longer create a new copy of themselves each time they process. We instead use a global
immutable mix
Cleans up a typed for loop in reactions
Canisters will take damage from outside heat now
Speeds up excited group dismantle
Increases the superconductor threshold by 200k
Cleans up some roundstart ATs on some ruins
Uses /turf/open/var/excited to track if a turf is actively processing, preventing a |=
Prevents openspace from trying to melt
Tweaks a canister examine line
Makes planetary turfs reset to base when broken down as part of an excited group
Makes it impossible for planetary turfs to rebuild, just like space tiles
Fixes closed turfs not activating their replacement when destroyed by moving closed -> open turf activation to
the adjacent air subsystem. They were activating and then going back to sleep before adjacent air got a chance
to tick.
Fire alarms will trigger when the area gets too cold for humans
2021-01-08 08:14:08 +01:00
Tad Hardesty
5c7553b75f Give some code readmes better filenames (#53325) 2020-09-01 04:12:02 -03:00
TiviPlus
ca366c3ea1 Bools and returns super-pr (#53221)
Replaces like 70-80% of 0 and such, as a side effect cleaned up a bunch of returns
Edit: Most left out ones are in mecha which should be done in mecha refactor already
Oh my look how clean it is

Co-authored-by: TiviPlus <TiviPlus>
Co-authored-by: Couls <coul422@gmail.com>
2020-08-28 14:26:37 -07:00
Timberpoes
19c3bbde31 Cleanup up all instances of using var/ definitions in proc parameters. (#52728)
* var/list cleanup

* The rest of the owl

* plushvar bad

* Can't follow my own advice.
2020-08-07 12:23:42 -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
nemvar
b87f65d95e Converts ALL typepaths to lowercase (#51642)
* Case of lower

* More changes

* Ruins the nice 420 diff, brainfart when doing the second batch of conversions

* More changes

* Next batch. I think

* Converts even more paths

* Restarts bots

* Capital Free Zone

* Come on travis, do something

* Renames areas

* Bots, please stop dying

* Updates CONTRIBUTING.md and updates a few paths I missed.

* APC recgarftzfvas
/obj/item/computer_hardware/recharger/apc to /obj/item/computer_hardware/recharger/apc_recharger
2020-06-17 20:47:57 -03:00
MrPerson
f7eb2c905b Unicode awareness Part 2 -- copytext() (#48512)
* Unicode support Part 2 -- copytext()

This is the transition of all copytext() calls to be unicode aware and also some nearby calls in the same functions. Most things are just replacing copytext() with copytext_char() as a terrible character limiter but a few others were slightly more involved.

I replaced a ton of
````
var/something = sanitize(input())
something = copytext(something, 1, MAX_MESSAGE_LEN)
````

with a single stripped_input() call. stripped_input() already calls html_encode(), trim(), and some other sanitization so there shouldn't be any major issues there.

This is still VERY rough btw; DNA is a mess, the status displays are complete ass, there's a copytext() in code\datums\shuttles.dm that I'm not sure what to do with, and I didn't touch anything in the tools folder. I haven't tested this much at all yet, I only got it to compile earlier this morning. There's also likely to be weird bugs until I get around to fixing length(), findtext(), and the rest of the string procs.

* Makes the code functional

* Assume color hex strings are always # followed by ascii.
Properly encodes and decodes the stuff in mob_helpers.dm which fixes some issues there.

* Removes ninjaspeak since it's unused
2020-01-18 13:07:22 +13:00
spookydonut
2591ce17a6 Travis EOF newline detection v3 (#47539)
* scream

* aaa

* aaa

* new one
2019-11-04 19:16:50 -08:00
KomradeSpectre
9ff071af60 Clockcult Removal 2019 (#47057)
* Nanotrasen fires the Wave Motion Gun at the Clock Cult

* Fixes a random changelog appearing from the reebe void.

* Fixes a wrong type reference regarding the bronze sheets in the Lavaland Ruin for it.

* Fixes redundant cells after CC removal in ruin by populating them with varied ore chunks, or destruction clutter.

* why is it /obj/item/stack/sheet/metal but not /obj/item/stack/sheet/iron

* Fixes the lavaland ratvar ruin to have fluff variant structures of deleted shit it referenced instead what I thought was reasonable.
2019-10-15 10:13:41 +02:00
Akrilla
c5b11dc283 Adds cancel buttons to inputs (#45825)
About The Pull Request

Adds cancel buttons to input boxes that didn't have them before.
Why It's Good For The Game

Good UX.
Changelog

cl
add: More cancel buttons.
/cl
2019-08-21 11:25:41 +12:00
4dplanner
ce0828a98e Tendrils are now structure based [READY] (#41554)
* Tendrils are now structure based

* Re-adds tendril wipe achievement

neatens up ash walker variables
gets rid of unnecessary variables in hivelord

* Marks spawner children as admin spawned
2018-11-19 14:36:33 -05:00
ShizCalev
98a6b39cca Clean up mixed space & tab usage (#40121) 2018-09-05 22:51:20 -07:00
Tad Hardesty
b83424bd87 Refactor the map loader (#39567)
* Remove duplicate initTemplateBounds method

* Move dmmRegex var to the type that actually uses it

* Keep a single, static map_loader datum

* Combine maploader into parsed_map

* Remove some redundant parameters from parsed_map/load

* Move file2text into parsed_map/New

* Narrow the scope of the map loading lock

* Remove redundant xcrdStart var

* Fix argument names in station reloader

* Move offsets from parsing to loading only

* Tidy argument handling on parsed_map/load

* Store modelCache, track nonexistent atom paths

* Use raw strings to specify the regexes

* Remove cropMap from parsed_map/New

* Don't parse maps twice when checking multi-z validity

Speeds up SSmapping init by approximately 10%.

* Bring the documentation (somewhat) up to speed

* No, I don't know why this fixes it
2018-08-09 22:49:38 -04:00
Jordan Brown
61e70f2333 Seperates map reader parsing from loading (#38764)
* Seperates map reader parsing from loading

* Compile fixes

* Uhhh, ok dm

* Ugh

* Fix one error...

* FIxes model caching
2018-07-13 18:07:32 +02:00
pigeons
6135ec864f Refactors bitflag macro values into bitshifts (#37234)
* Refactors bitflag values into bitshifts

* minor formatting edits

* Unbitshifts a macro set that skipped 3 for whatever reason
2018-04-19 18:36:35 -04:00
Tad Hardesty
bbe4d12d13 Support stations with multiple z-levels (#35339)
* Remove ZLEVEL_STATION_PRIMARY

* Add Up and Down traits for use by ladders and chasms

* Give map_config creation its own proc

* Combine LoadConfig and ValidateJSON and remove transition_config

* Make space linkage a z-level trait

* Remove ZLEVEL_EMPTY_SPACE

* Update uses of GetFullMapPath

* Handle multi-Z stations and load Lavaland and Reebe at runtime

* Remove unused space maps

* Fix inappropriate z-expansion in map reader, improve logging

* Update comments relating to z-level configuration

* Add Lavaland and Reebe to ALL_MAPS
2018-02-15 10:21:25 +01:00
ShizCalev
7a2a0f2216 Corrects mapGeneratorModule generate() args 2018-01-22 05:08:17 -05:00
Tad Hardesty
827c4b3f99 Replace hardcoded z-level numbers with a trait system (#34090)
* Add basic structure of z-level traits

* Restore space transitions and add z-level debug verb

* Restore proper ruin spawning and transit level creation

* Replace station_z_levels and related checks with traits

* Eliminate more uses of ZLEVEL_{STATION_PRIMARY,LAVALAND}
2018-01-12 09:05:49 +13:00
Jordan Brown
e13f2eef2a Removes usage of set background 2018-01-09 10:21:36 -05:00
Tad Hardesty
f2dbe5cf13 Replace explicit z-level checks with defines (#33829)
* Replace explicit z-level checks with defines

* Rename turf_z_is_planet for consistency

* Use TRUE/FALSE in onSyndieBase
2017-12-29 14:40:06 -05:00
Jordan Brown
8e434b7d96 Removes duplicate typecaches (#31883)
* Audits all typecache calls for performance gains

* Fix invalid var
2017-10-23 15:24:41 +02:00
KorPhaeron
10a3238fd6 Makes the station Z level into a list instead of a single define (#30297)
* Makes Station Z Levels a global list

* Things didnt get committed

* Define

* Removes files

* Fix mind.dm

* Wrong list name

* (

* Fixes rev checks and signpost

* Makes it actually compile

* Signpost fix

* I hate these sign posts

* Never use the web editor
2017-09-11 13:39:52 -04:00
Joan Lung
9556b8edc9 Removes the suppose-to-be unused shuttle wall path (#30214)
* Removes the unused shuttle wall path

* snip SNIP

* SNIP snip

* SNIP
2017-08-27 19:25:30 -04:00
Jordan Brown
af4d9a85c9 Repaths /obj/item/weapon to /obj/item (#29929) 2017-08-16 10:38:51 -03:00
kevinz000
aef7b9d3ec Update helpers.dm 2017-08-09 15:14:55 -07:00
Cyberboss
f73031dbdd Merge pull request #29641 2017-08-04 10:16:23 -04:00
kevinz000
4104bdfa2b reeee 2017-08-02 00:17:46 -07:00
Jordan Brown
3ec4aec215 Merge pull request #29601 2017-08-01 09:37:28 -04:00
shizcalev
99624b8e74 further spellchecking 2017-07-31 23:09:08 -04:00
kevinz000
0d2f62499f Update helpers.dm 2017-07-29 22:29:25 -07:00
kevinz000
a90467d83c Update helpers.dm 2017-07-29 22:00:19 -07:00
kevinz000
d951b65eba Admin "Reload Station" Map Generator - Reloads specified block to roundstart. (#28986)
Badmins: Buildmode map generators have names in the list to select them, instead of paths.

Also, a new map generator has been added, repair/reload station. Use it VERY sparingly, it deletes the block of the map and reloads it to roundstart. THIS CAN CAUSE ISSUES WITH MACHINES AND ATMOSPHERICS, SO DO NOT USE IT UNLESS YOU ABSOLUTELY HAVE TO!

The reload station one tagged DO NOT USE shouldn't be used as it doesn't delete anything before loading, so if you use it you'll have two copies of things. That can result in a LOT of issues, so don't use it unless you're a codermin and know what you're doing/abusing!
2017-07-29 11:43:43 +12:00
Joan Lung
6d7e3f2281 Lava is no longer a plating subtype (#29463) 2017-07-25 22:16:02 -03:00
ShizCalev
45d3d52af7 Made some object lists less terrible to read (#29304)
* spaces

* more spaces

* last ones
2017-07-18 10:44:29 -04:00
kevinz000
7bb7ef5a04 Create repair.dm 2017-06-13 04:58:22 -07:00
kevinz000
2e261085e1 Update repair.dm 2017-06-03 14:43:52 -07:00
kevinz000
800d7ec893 Adds repair and lavaland map generator templates for buildmode use (#27865) 2017-05-31 14:57:18 -03:00
kevinz000
5132ae3667 Update mapGeneratorModule.dm 2017-05-23 02:39:34 -07:00
Joan Lung
ee763a5aa4 Removes a few spawns (#26507) 2017-04-25 16:36:07 -03:00