MCPcopy Create free account
hub / github.com/OGSR/OGSR-Engine / Spawn_Read

Method Spawn_Read

ogsr_engine/COMMON_AI/xrServer_Object_Base.cpp:180–230  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

178}
179
180BOOL CSE_Abstract::Spawn_Read(NET_Packet& tNetPacket)
181{
182 u16 dummy16;
183 // generic
184 tNetPacket.r_begin(dummy16);
185 R_ASSERT(M_SPAWN == dummy16);
186 tNetPacket.r_stringZ(s_name);
187
188 string256 temp;
189 tNetPacket.r_stringZ(temp);
190 set_name_replace(temp);
191 tNetPacket.r_u8(s_gameid);
192 tNetPacket.r_u8(s_RP);
193 tNetPacket.r_vec3(o_Position);
194 tNetPacket.r_vec3(o_Angle);
195 tNetPacket.r_u16(RespawnTime);
196 tNetPacket.r_u16(ID);
197 tNetPacket.r_u16(ID_Parent);
198 tNetPacket.r_u16(ID_Phantom);
199
200 tNetPacket.r_u16(s_flags.flags);
201
202 tNetPacket.r_u16(m_wVersion);
203
204 ASSERT_FMT(m_wVersion && m_wVersion >= 118, "Invalid spawn version: [%u]", m_wVersion);
205
206 m_script_version = tNetPacket.r_u16();
207
208 // read specific data
209
210 // client object custom data serialization LOAD
211 {
212 client_data.clear();
213
214 const u16 client_data_size = tNetPacket.r_u16(); // не может быть больше 256 байт
215 if (client_data_size > 0)
216 {
217 client_data.resize(client_data_size);
218 tNetPacket.r(client_data.data(), client_data_size);
219 }
220 }
221
222 tNetPacket.r(&m_tSpawnID, sizeof(m_tSpawnID));
223
224 u16 size;
225 tNetPacket.r_u16(size); // size
226 R_ASSERT((size > sizeof(size)), "cannot read object, which is not successfully saved :(", name_replace());
227 STATE_Read(tNetPacket, size);
228
229 return TRUE;
230}
231
232void CSE_Abstract::load(NET_Packet& tNetPacket)
233{

Callers 5

createMethod · 0.80
get_objectMethod · 0.80
Process_spawnMethod · 0.80
loadMethod · 0.80

Calls 10

set_name_replaceFunction · 0.85
r_beginMethod · 0.45
r_stringZMethod · 0.45
r_u8Method · 0.45
r_vec3Method · 0.45
r_u16Method · 0.45
clearMethod · 0.45
resizeMethod · 0.45
rMethod · 0.45
dataMethod · 0.45

Tested by

no test coverage detected