@@ -126,22 +126,13 @@ void handlePacket (int client_fd, int length, int packet_id, int state) {
126
126
// Send full client spawn sequence
127
127
spawnPlayer (player );
128
128
129
- // Prepare join message for broadcast
130
- uint8_t player_name_len = strlen (player -> name );
131
- strcpy ((char * )recv_buffer , player -> name );
132
- strcpy ((char * )recv_buffer + player_name_len , " joined the game" );
133
-
134
- // Register all existing players and spawn their entities, and broadcast
135
- // information about the joining player to all existing players.
129
+ // Register all existing players and spawn their entities
136
130
for (int i = 0 ; i < MAX_PLAYERS ; i ++ ) {
137
131
if (player_data [i ].client_fd == -1 ) continue ;
138
- if (player_data [i ].flags & 0x20 && player_data [i ].client_fd != client_fd ) continue ;
132
+ // Note that this will also filter out the joining player
133
+ if (player_data [i ].flags & 0x20 ) continue ;
139
134
sc_playerInfoUpdateAddPlayer (client_fd , player_data [i ]);
140
- sc_systemChat (player_data [i ].client_fd , (char * )recv_buffer , 16 + player_name_len );
141
- if (player_data [i ].client_fd == client_fd ) continue ;
142
- sc_playerInfoUpdateAddPlayer (player_data [i ].client_fd , * player );
143
135
sc_spawnEntityPlayer (client_fd , player_data [i ]);
144
- sc_spawnEntityPlayer (player_data [i ].client_fd , * player );
145
136
}
146
137
147
138
// Send information about all other entities (mobs)
@@ -431,14 +422,9 @@ void handlePacket (int client_fd, int length, int packet_id, int state) {
431
422
if (state == STATE_PLAY ) cs_playerInput (client_fd );
432
423
break ;
433
424
434
- case 0x2B : { // Player Loaded
435
- PlayerData * player ;
436
- if (getPlayerData (client_fd , & player )) break ;
437
- // Clear "client loading" flag and fallback timer
438
- player -> flags &= ~0x20 ;
439
- player -> flagval_16 = 0 ;
425
+ case 0x2B :
426
+ if (state == STATE_PLAY ) cs_playerLoaded (client_fd );
440
427
break ;
441
- }
442
428
443
429
case 0x34 :
444
430
if (state == STATE_PLAY ) cs_setHeldItem (client_fd );
0 commit comments