Commit Graph

16 Commits

Author SHA1 Message Date
Neerti
fdabe51ee8 Linter Introduction + Cleanup (#8085)
* Adds linter defines to repo.

* Uncomments linter defines already in the code.

* Resolves unreachable code linter errors.

* Nukes decade+ old syndie specops code except for computer since that's mapped in?????

* Resolves procs has no parent linter error.

* Proc signature fixes

* Bad comments

* "In" danger

* Type safety

* Implied nested list abuse

* Top level ..() usage

* Sleepy coder typos

* Invalid kwargs calls

* Pointless returns

* Linter hacks (see full message)

Byond doesn't care and it has no effect but linter doesn't like var/proc
for holding references to procs, despite that it's valid byond code.

Also, the linter seems to have serious issues figuring out relative
proc names. This commit is a sort of take-it-or-leave-it thing. It's not
required, it just cuts down on warnings, but this code is valid DM code.

* WHATEVER THIS IS

* Trick dreamchecker linter into ignoring this file's sins in it's weird use of vars

* Fix list decoration syntax - Its a list, not list of lists

- To declare that a var is a list you can `var/list/blah = list()` syntax or the `var/blah[0]` syntax.  Both do exactly the same thing. But if you do `var/list/blah[0]` that is just like doing `var/list/list/blah = list()`

* Hopefully stops the ai holder subtype folder from going quantum and sometimes changes capitalization over time, and incidentally causing 20+ linter errors.

* Fixes unwrapped negated object in list linter error.

* Resolves colon-like list accessing linter error.

* Turns linter on in linter config.

* Fixes closet indentation properly and cleans up suit storage unit switch.

Co-authored-by: Aronai Sieyes <arokha@arokha.com>
Co-authored-by: Leshana <Leshana@users.noreply.github.com>
2021-05-25 18:17:26 -09:00
Atermonera
1cae548d08 Merge pull request #6966 from VOREStation/vplk-bye-area-new
Refactor away area/New()
2020-04-11 21:40:51 -07:00
Leshana
bfa14f2c25 Cause the maploader to log an error if dmm file contains an undefined type.
This will greatly ease debugging as otherwise the only error you might get is Runtime in reader.dm,370: list index out of bounds, and even then only if the turf has no objects.
2020-04-10 19:49:43 -04:00
Leshana
2c13bee848 Replace global all_areas list with world.
It ends up having similar performance, so might as well not bother with all_areas.
2020-04-10 14:58:59 -04:00
Neerti
b494f4a508 Merge pull request #5772 from Atermonera/rotate_wires
Refactors poi rotation to use degrees instead of dir
2019-01-12 04:26:23 -05:00
Neerti
e8a94d915e Does more work, particularly on zlevel stuff. 2018-12-19 18:31:41 -05:00
atermonera
a0c8891eb6 Refactors poi rotation to use degrees instead of dir
Fixes powernet rotation being totally non-functional
2018-12-09 22:56:45 -08:00
Arokha Sieyes
5bbec73b66 Fixes maploading
Imagine you're on the last iteration of this loop, you've done the final column of X coordinates and you're going to set maxx.
Would you want to set it to where you are now, the final X column... or would you want to add ONE MORE beyond the template size for some reason then set it to that?

This bug causes all templates that are the size of normal maps to fail to initialize any atoms if your template is the size of your normal maps, because it tries to obtain a square of size minx, miny, minz, maxx, maxy, maxz to initialize, however maxx is nonextant because it exists outside the bounds of the world. It also causes all submaps to initialize an additional column of atoms twice, or not initialize any if they spawn against the right edge of the map.
2018-10-13 01:32:16 -04:00
atermonera
7f5c747d79 Removes debug code (Yes, I'm an idiot) 2018-09-01 01:28:42 -07:00
atermonera
2f9cebd38d Submaps can now be rotated to any cardinal direction (South is default) 2018-08-31 01:32:26 -07:00
atermonera
a20085ccff PoIs can be rotated in increments of 90 degrees 2018-08-30 18:55:22 -07:00
Neerti
be73b8c36a for(var/bad_code in world)
Removes a very large amount of world loops.
Adds a macro to painlessly generate a global list, and the needed code to modify the list when an object is made or deleted automatically.
Cleans up some commented out code.
2018-04-29 17:55:04 -04:00
Leshana
2e683c7184 Fixes to runtime map loader
- Fix: Do not actually expand world.maxz when measureOnly = true
- Fix: Support var values of "list()"  (no contents)
2018-03-04 12:34:55 -05:00
Leshana
44dc4b7286 Implement SSatoms
* Moves proc/initialize() from being on /atom/movable, /are and /turf/simulated to being on /atom - Now turfs can initialize too
* Added the SSatoms subsystem which controls initialization of atoms at roundstart and during normal conditions.
* Disabled the old auto_init = 0 behavior, ALL atoms should get initialized() called on them now.
* Refactored the way initialize() is called during /New() to utilize SSatoms instead of SScreation
* Removed SScreation, as it was only a stop-gap until SSatoms could be ported.
* Updated the maploader to inform SSatoms when it is loading maps instead of SScreation.
* Updated the template map loader to use SSatoms to perform initTemplateBounds
* Renamed 'initialized' var in seed_storage to deconflict.
* Removed usage of auto_init = 0, replaced with a no-op initialize() proc for atoms that don't need initialization.
2018-02-05 15:50:06 -05:00
Leshana
9d08175078 Fixes #4522 - Make maploader correctly read lists of numbers, paths, etc.
* For non-assoc lists every value was being read as a string.   For vars like "access_req" this is bad - it doesn't work.  Therefore we add support for lists of numbers.
* While I'm here, might as well add support for non-string keys of associative lists too, since that's required by things like vending machines.
2018-01-12 19:45:34 -05:00
Neerti
1bc28c07c0 Port's TG's Maploader 2017-09-08 12:49:26 -04:00