World
Two possibilities exist: either we are alone in the Universe or we are not. Both are equally terrifying. ~ Arthur C. Clarke
The byond world object stores some basic byond level config, and has a few hub specific procs for managing hub visiblity
The world /New() is the root of where a round itself begins
Procs | |
ImmediateInvokeAsync | Immediately Invoke proctocall on thingtocall, with waitfor set to false |
---|---|
New | World creation |
increase_max_x | Handles incresing the world's maxx var and intializing 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. |
jatum_deserialize | Attempt to create a value from a JATUM JSON. |
jatum_serialize | Attempt to serialize a given value to the JATUM format. |
push_usr | Makes a call in the context of a different usr. Use sparingly |
send_cross_comms | Sends a message to a given cross comms server by name (by name for security). |
shelleo | XXX AOO XXX AXX |
update_hub_visibility | The usage of "[" without also using "]" makes the bracket pair colorizer break, so this is here to make the rest of the file easier to read. |
Proc Details
ImmediateInvokeAsync
Immediately Invoke proctocall on thingtocall, with waitfor set to false
Arguments:
- thingtocall Object to call on
- proctocall Proc to call on that object
- ... optional list of arguments to pass as arguments to the proc being called
New
World creation
Here is where a round itself is actually begun and setup.
- db connection setup
- config loaded from files
- loads admins
- Sets up the dynamic menu system
- and most importantly, calls initialize on the master subsystem, starting the game loop that causes the rest of the game to begin processing and setting up
Nothing happens until something moves. ~Albert Einstein
For clarity, this proc gets triggered later in the initialization pipeline, it is not the first thing to happen, as it might seem.
Initialization Pipeline: Global vars are new()'ed, (including config, glob, and the master controller will also new and preinit all subsystems when it gets new()ed) Compiled in maps are loaded (mainly centcom). all areas/turfs/objs/mobs(ATOMs) in these maps will be new()ed world/New() (You are here) Once world/New() returns, client's can connect. 1 second sleep Master Controller initialization. Subsystem initialization. Non-compiled-in maps are maploaded, all atoms are new()ed All atoms in both compiled and uncompiled maps are initialized()
increase_max_x
Handles incresing the world's maxx var and intializing 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.
jatum_deserialize
Attempt to create a value from a JATUM JSON.
- json - The JSON to deserialize.
jatum_serialize
Attempt to serialize a given value to the JATUM format.
- value - The var to serialize.
push_usr
Makes a call in the context of a different usr. Use sparingly
send_cross_comms
Sends a message to a given cross comms server by name (by name for security).
shelleo
XXX AOO XXX AXX
update_hub_visibility
The usage of "[" without also using "]" makes the bracket pair colorizer break, so this is here to make the rest of the file easier to read.