- buf[1] = OP_PLAY;
- buf[2] = (byte)(level_nr >> 8);
- buf[3] = (byte)(level_nr & 0xff);
- buf[4] = (byte)(leveldir_nr >> 8);
- buf[5] = (byte)(leveldir_nr & 0xff);
- strcpy(&buf[6], leveldir[leveldir_nr].name);
- sendbuf(strlen(leveldir[leveldir_nr].name)+1 + 6);
+ unsigned int new_random_seed = InitRND(level.random_seed);
+
+ int dummy = 0; /* !!! HAS NO MEANING ANYMORE !!! */
+ /* the name of the level must be enough */
+
+ buffer[1] = OP_START_PLAYING;
+ buffer[2] = (byte)(level_nr >> 8);
+ buffer[3] = (byte)(level_nr & 0xff);
+ buffer[4] = (byte)(dummy >> 8);
+ buffer[5] = (byte)(dummy & 0xff);
+
+ buffer[6] = (unsigned char)((new_random_seed >> 24) & 0xff);
+ buffer[7] = (unsigned char)((new_random_seed >> 16) & 0xff);
+ buffer[8] = (unsigned char)((new_random_seed >> 8) & 0xff);
+ buffer[9] = (unsigned char)((new_random_seed >> 0) & 0xff);
+
+ strcpy((char *)&buffer[10], leveldir_current->identifier);
+
+ SendBufferToServer(10 + strlen(leveldir_current->identifier) + 1);
+}
+
+void SendToServer_PausePlaying()
+{
+ buffer[1] = OP_PAUSE_PLAYING;
+
+ SendBufferToServer(2);
+}
+
+void SendToServer_ContinuePlaying()
+{
+ buffer[1] = OP_CONTINUE_PLAYING;
+
+ SendBufferToServer(2);
+}
+
+void SendToServer_StopPlaying(int cause_for_stopping)
+{
+ buffer[1] = OP_STOP_PLAYING;
+ buffer[2] = cause_for_stopping;
+
+ SendBufferToServer(3);