NWMUDS:GetConnectionStatus: Difference between revisions
(18 intermediate revisions by 3 users not shown) | |||
Line 37: | Line 37: | ||
|- | |- | ||
| 0x4 | | 0x4 | ||
| | | 0x4 | ||
| | | Unknown u32. Official user-processes check for values: 0x0, 0x1, and non-zero. | ||
|- | |||
| 0x8 | |||
| 0x2 | |||
| u16 NetworkNodeID for this device. This is the broadcast alias when connected as a spectator. | |||
|- | |||
| 0xA | |||
| 0x2 | |||
| u16, changed_nodes. This is a bitmask of the nodes that changed and triggered the update. | |||
|- | |||
| 0xC | |||
| 0x20 | |||
| u16 nodes[16]. Array of NetworkNodeIds, the values inside this array is what's passed to [[NWMUDS:GetNodeInformation]]. | |||
|- | |- | ||
| 0x2C | | 0x2C | ||
| 0x1 | | 0x1 | ||
| u8 total_nodes | | u8 total_nodes. | ||
|- | |- | ||
| 0x2D | | 0x2D | ||
| | | 0x1 | ||
| | | u8 max_nodes, originally from the NetworkStruct. | ||
|- | |||
| 0x2E | |||
| 0x2 | |||
| u16 node_bitmask. This is a bitmask of NetworkNodeIDs: bit0 for NetworkNodeID 0x1(host), bit1 for NetworkNodeID 0x2(first original client), and so on. | |||
|} | |} | ||
Right after [[NWMUDS:InitializeWithVersion|initializing]], this structure is all-zero except for the status which is value 0x3. | |||
==Status values== | ==Status values== | ||
Line 56: | Line 74: | ||
|- | |- | ||
| 0x3 | | 0x3 | ||
| Not connected to any network as a host/client. | | Not connected to any network as a host/client, or just initialized. | ||
|- | |- | ||
| 0x6 | | 0x6 | ||
| Connected to a network as a host | | Connected to a network as a host. | ||
|- | |||
| 0x9 | |||
| Connected to a network as a client. | |||
|- | |||
| 0xA | |||
| Connected to a network as a spectator. | |||
|- | |||
| 0xB | |||
| For this value official user-processes use [[NWMUDS:UpdateNetworkAttribute]] to clear attributes bitmask 0x6. | |||
|} | |} | ||
=Description= | =Description= | ||
This is mainly used when the event handle from [[NWMUDS:Initialize]] is | This is mainly used when the event handle from [[NWMUDS:Initialize]] is signaled. This is also used before using [[NWMUDS:Bind]]. For certain user-processes this may be used during NWMUDS initialization as well. | ||
The event is not signaled when using [[NWMUDS:DestroyNetwork]] or [[NWMUDS:DisconnectNetwork]]. However the event does get signaled when creating or connecting to a network. |