byond - Modules - TypesProc Details

world

Used to find the sources of harddels, quite laggy, don't be surpised if it freezes your client for a good while

Procs

ConfigLoadedRuns after config is loaded but before Master is initialized
GenesisWORLD INITIALIZATION THIS IS THE INIT ORDER:
InitTgsInitializes TGS and loads the returned revising info into GLOB.revdata
RunUnattendedFunctionsRuns after the call to Master.Initialize, but before the delay kicks in. Used to turn the world execution into some single function then exit
_THE GENESIS CALL
get_world_state_for_loggingReturns a list of data about the world state, don't clutter
increase_max_xHandles increasing the world's maxx var and initializing the new turfs and assigning them to the global area. If map_load_z_cutoff is passed in, it will only load turfs up to that z level, inclusive. This is because maploading will handle the turfs it loads itself.

Proc Details

ConfigLoaded

Runs after config is loaded but before Master is initialized

Genesis

WORLD INITIALIZATION THIS IS THE INIT ORDER:

BYOND =>

Now listen up because I want to make something clear: If something is not in this list it should almost definitely be handled by a subsystem Initialize()ing If whatever it is that needs doing doesn't fit in a subsystem you probably aren't trying hard enough tbhfam

GOT IT MEMORIZED?

THIS !!!SINGLE!!! PROC IS WHERE ANY FORM OF INIITIALIZATION THAT CAN'T BE PERFORMED IN MASTER/NEW() IS DONE NOWHERE THE FUCK ELSE I DON'T CARE HOW MANY LAYERS OF DEBUG/PROFILE/TRACE WE HAVE, YOU JUST HAVE TO DEAL WITH THIS PROC EXISTING I'M NOT EVEN GOING TO TELL YOU WHERE IT'S CALLED FROM BECAUSE I'M DECLARING THAT FORBIDDEN KNOWLEDGE SO HELP ME GOD IF I FIND ABSTRACTION LAYERS OVER THIS!

InitTgs

Initializes TGS and loads the returned revising info into GLOB.revdata

RunUnattendedFunctions

Runs after the call to Master.Initialize, but before the delay kicks in. Used to turn the world execution into some single function then exit

_

THE GENESIS CALL

THE VERY FIRST LINE OF DM CODE TO EXECUTE Ong this must be done before !!!EVERYTHING!!! else NO IFS ANDS OR BUTS it's a hack, not an example of any sort, and DEFINITELY should NOT be emulated IT JUST HAS TO BE FIRST!!!!!! If you want to do something in the initialization pipeline FIRST RTFM IN /code/game/world.dm AND THEN NEVER RETURN TO THIS PLACE

If you're still here, here's an explanation: BYOND loves to tell you about its loving spouse /global But it's actually having a sexy an affair with /static Specifically statics in procs Priority is given to these lines of code in REVERSE order of declaration in the .dme Which is why this file has a funky name So this is what we use to call world.Genesis() It's a nameless, no-op function, because it does absolutely nothing It exists to hold a static var which is initialized to null It's on /world to hide it from reflection Painful right? Good, now you share my suffering Please lock the door on your way out

get_world_state_for_logging

Returns a list of data about the world state, don't clutter

increase_max_x

Handles increasing the world's maxx var and initializing the new turfs and assigning them to the global area. If map_load_z_cutoff is passed in, it will only load turfs up to that z level, inclusive. This is because maploading will handle the turfs it loads itself.