-
Notifications
You must be signed in to change notification settings - Fork 231
/
multi.cpp
10002 lines (8444 loc) · 288 KB
/
multi.cpp
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
/*
* Descent 3
* Copyright (C) 2024 Parallax Software
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
/*
* $Logfile: /DescentIII/Main/multi.cpp $
* $Revision: 530 $
* $Date: 10/22/01 12:42p $
* $Author: Matt $
*
* Multiplayer code
*
* $Log: /DescentIII/Main/multi.cpp $
*
* 530 10/22/01 12:42p Matt
* Changed previous fix to use spiffy new function to test for Mercenary
* installed.
*
* 529 10/22/01 11:12a Matt
* Put up HUD message when server tells us to switch ships.
* If told to switch to Black Pyro but don't have Merc, bail.
*
* 528 9/29/01 5:34p Kevin
* hack to prevent the observermode powerup stealing cheat/bug
*
* 527 9/13/01 2:32p Matt
* When recording a demo, save the new player position when a player
* respawns.
*
* 526 7/09/01 4:21p Matt
* Fixed code that used AllowedShips[] instead of Ships[] to find a valid
* ship.
*
* 525 4/20/00 6:23p Matt
* Fixed a bug that caused the difficulty for games in the games list to
* be always set to zero or one.
*
* 524 4/19/00 5:07p Matt
* From Duane for 1.4
* Added checks, asserts, and fixes for bad return values
*
* 523 3/20/00 12:17p Matt
* Merge of Duane's post-1.3 changes.
* Check for callsign too long.
* Byteswap fix.
*
* 522 2/01/00 3:47a Jason
* made usesmoothing be a client side option only
*
* 521 1/30/00 2:11p Jason
* Added -usesmoothing option back in
*
* 520 1/22/00 10:43p Jason
* Fixed phantom napalm and vauss bugs
*
* 519 1/22/00 5:36p Jason
* Took out reliable secondaries. Define RELIABLE_SECONDARIES to reenable
* this behavior (not recommended)
*
* 518 10/20/99 5:40p Chris
* Added the Red Guidebot
*
* 517 10/16/99 9:56p Jeff
* added a way to strip all players of all weapons and energy
*
* 516 10/16/99 8:45p Jeff
* created multi functions to strip a player of his weapons and energy
*
* 515 9/17/99 2:43p Kevin
* fixed bug where pxo stats weren't written if the game quit
*
* 514 9/09/99 12:24p Kevin
* Fixed a bug that was causing problems in the Mac version
* (Game_is_master_tracker_game was defined as a ubyte in the game, but an
* int in the dll)
*
* 513 9/02/99 3:34p Jason
* send secondary fire reliable in a C/S game
*
* 512 9/01/99 6:56p Jason
* fixed guided missiles and timeout missiles so they work in multiplayer
*
* 511 9/01/99 4:12p Kevin
* Byte ordering fixes for the macintosh
*
* 510 8/23/99 5:14p Kevin
* Macintosh fixes
*
* 509 7/28/99 4:05p Kevin
* Mac
*
* 508 7/28/99 3:58p Kevin
* mac
*
* 507 7/20/99 12:57p Jason
* added MOTD to server
*
* 506 7/12/99 4:15p Kevin
* Changed the way we determine if we should report stats or not in PXO
*
* 505 7/12/99 1:56p Jason
* fixed dumb ammo bug
*
* 504 7/08/99 5:44p Jason
* Fixed some cheating holes for the patch
*
* 503 7/06/99 5:52p Kevin
* PXO & multiplayer fixes for the patch
*
* 502 5/24/99 5:42p Jason
* Fixed off by one observer crash
*
* 501 5/23/99 3:04a Jason
* fixed bug with player rankings not being updated correctly
*
* 500 5/22/99 10:27p Jason
* changes for multiplayer and buildings, ai
*
* 499 5/22/99 12:33a Jason
* added sending of physics flags upon joining
*
* 498 5/21/99 7:07p Jason
* fixed some weird multiplayer rejoin anomalies
*
* 497 5/20/99 4:55p Jason
* added heartbeats to server
*
* 496 5/20/99 4:10p Jason
* added heartbeat to multiplayer so clients wouldn't time out, also
* various multiplayer fixes
*
* 495 5/20/99 2:52p Jason
* made autowaypoints work in coop
*
* 494 5/20/99 11:57a Jason
* took out bogus int3
*
* 493 5/20/99 2:48a Matt
* Auto-waypoints now stored & used per player. Manual waypoints will all
* players, once Jason makes it work.
*
* 492 5/19/99 9:58p Jason
* no collide with ghosted ships
*
* 491 5/19/99 5:39p Jason
* made level failing work in coop
*
* 490 5/19/99 4:58p Jason
* changes for ranking system
*
* 489 5/19/99 4:10p Jason
* fixed wacky killer problem
*
* 488 5/19/99 3:24p Jason
* fixed wrong ordering of InitObjectScripts and MultiSendObject
*
* 487 5/19/99 12:11p Jason
* fixed some issues with multiplayer
*
* 486 5/19/99 12:03p Kevin
* added mprintf
*
* 485 5/18/99 10:15p Kevin
* made it so a client who is disconnected but the server still hasn't
* timed him out will not see the game until the server times him out, and
* he won't stay connected while in the join games screen
*
* 484 5/13/99 7:19p Jason
* made dying objects be able to be updated
*
* 483 5/13/99 7:18p Jeff
* safety check in MultiDoUnattach
*
* 482 5/13/99 1:07p Jason
* added ASSERT for Jeff
*
* 481 5/12/99 1:57p Jason
* fixed yet more buggy/ugly code
*
* 480 5/11/99 9:42p Jeff
* send tracker id of players to other players
*
* 479 5/11/99 10:59a Kevin
* Ship allow/dissalow works now!
*
* 478 5/10/99 10:22p Ardussi
* changes to compile on Mac
*
* 477 5/10/99 5:35p Kevin
* New command line options for heat and scoring API enhancements
*
* 476 5/10/99 1:45a Jason
* took out turret and robot position counters
*
* 475 5/10/99 1:22a Jason
* took out object error call
*
* 474 5/09/99 1:34p Kevin
* Added diffuculty level system to multiplayer
*
* 473 5/08/99 5:22p Jason
* fix audio taunt crash in single player
*
* 472 5/08/99 4:31a Jeff
* fixed sequencing bug where clients never got a level end event for the
* multiplayer games
*
* 471 5/07/99 3:16p Jason
* fixed some more multiplayer issues
*
* 470 5/07/99 2:50p Jason
* fixed a bunch of endlevel multiplayer issues
*
* 469 5/06/99 1:04a Kevin
* scoring API stuff
*
* 468 5/05/99 5:41p Jason
* fixed various multiplayer issues, including sequencing bugs and cheat
* prevention
*
* 467 5/05/99 12:23p Jason
* fixed some problems with ending levels
*
* 466 5/05/99 10:27a Kevin
* fixed some more player count bugs.
*
* 465 5/05/99 10:00a Kevin
* fixed dedicated server 'current number of players' count
*
* 464 5/03/99 2:35p Jason
* change for multiplayer games
*
* 463 5/03/99 1:17p Jason
* hack for disappearing powerup bug
*
* 462 5/03/99 8:38a Jeff
* handle world states for room's with goal/special flag change
*
* 461 5/02/99 5:09a Jeff
* send levelgoal state to joining clients
*
* 460 4/30/99 7:49p Jason
* setups urgent/non urgent reliable stuff better
*
* 459 4/30/99 5:43p Jason
* took out some errors
*
* 458 4/30/99 5:15p Kevin
* possibly fixed bug related to dedicated server player count
*
* 457 4/30/99 1:10p Jason
* fixed sounds being sent reliably by the server
*
* 456 4/30/99 12:58p Jeff
* fixed inventory removed bug in multiplayer
*
* 455 4/30/99 12:01a Jason
* added ability to set the next level in a multiplayer game
*
* 454 4/29/99 11:02p Jeff
* added the ability for the server to set audio taunt delay time via
* command line option and/or dedicated server console
*
* 453 4/29/99 4:59p Jason
* fixed bug with world states and refueling centers
*
* 452 4/29/99 3:07p Jason
* added more cheat protection
*
* 451 4/29/99 2:09a Jason
* added more safechecking for powerup bug tracking
*
* 450 4/29/99 2:00a Chris
* Added the portal blockage support
*
* 449 4/28/99 9:16p Jeff
* fixed inventory use bug...was using Server_object_list instead of
* Local_object_list
*
* 448 4/28/99 7:37p Jason
* fixed killer objnum bug
*
* 447 4/28/99 5:13p Jeff
* fixed(?) clients using inventory items in coop
*
* 446 4/28/99 3:33a Jeff
* removed useless IGC variable reset (wasn't needed, although previously
* thought it was needed)
*
* 445 4/28/99 2:28a Jeff
* finished (hopefully) making guidebot multiplayer friendly
*
* 444 4/27/99 8:32p Jason
* fixed cinematic bug
*
* 443 4/27/99 3:46p Jeff
* increased audio taunt delay to 5 seconds
*
* 442 4/27/99 4:42a Jeff
* pass guidebot name on MyInfo
*
* 441 4/26/99 11:48p Jason
* removed mprintfs
*
* 440 4/26/99 10:14p Kevin
* Stop playing the napalm sound when a player dies in multi
*
* 439 4/26/99 7:08p Jason
* fixed doorway join bug
*
* 438 4/26/99 11:59a Jeff
* removed stupid test code that wasn't tested and broke everything
*
* 437 4/25/99 10:19p Matt
* Fixed multiplayer and demo problems will killing an object from script,
* and cleaned up the death code a bit in the process.
*
* 436 4/25/99 5:20p Jason
* fixed some more coop bugs
*
* 435 4/25/99 5:02p Kevin
* Bunches of multiplayer UI improvements
*
* 434 4/25/99 12:19p Kevin
* fixed max players for dedicated server
*
* 433 4/25/99 8:57a Kevin
* fixes for server info dialog
*
* 432 4/24/99 11:58p Kevin
* Game info list (hit I in the pxo game list)
*
* 431 4/24/99 6:44p Jeff
* added functions for theif so he can steal things other than weapons
*
* 430 4/22/99 8:29p Kevin
* made psrand.h come after stdlib.h
*
* 429 4/22/99 5:46p Jason
* made weapons work in multiplayer
*
* 428 4/22/99 3:24p Jason
* fixed some multisafe problems
*
* 427 4/21/99 12:05p Jason
* fixed sound priority bug
*
* 426 4/21/99 11:42a Kevin
* fixed compiler warning
*
* 425 4/21/99 11:05a Kevin
* new ps_rand and ps_srand to replace rand & srand
*
* 424 4/19/99 3:46a Jeff
* fixed min/max problem
*
* 423 4/17/99 4:33p Jason
* changes for robot/turret tracking
*
* 422 4/16/99 11:23p Jeff
* added some includes to make linux happy
*
* 421 4/16/99 11:54a Matt
* Took out include of directplay.h, which wasn't needed.
*
* 420 4/16/99 11:21a Kevin
* Added netgame flags to game info packet
*
* 419 4/15/99 2:39p Kevin
* Increased the amount of time the dedicated server will wait before
* going on to the next level (to make sure the reliable code has time to
* catch up on missed packets)
*
* 418 4/15/99 1:40a Jeff
* changes for linux compile
*
* 417 4/14/99 2:51a Jeff
* fixed some case mismatched #includes
*
* 416 4/11/99 1:57p Kevin
* Made some static memory usage reductions
*
* 415 4/08/99 3:13p Matt
* Finished cleaning up level sequencing code. Got rid of all the "level
* minus one" stuff.
*
* 414 4/07/99 12:30p Matt
* Added code for failed missions.
*
* 413 4/06/99 6:24p Jason
* various fixes for multiplayer
*
* 412 4/05/99 10:54a Matt
* Added auto-waypoint system
*
* 411 4/04/99 8:15p Jeff
* added debug graph stuff
*
* 410 4/02/99 6:30p Jason
* fixed multiplayer powerup/player start bugs
*
* 409 4/01/99 5:48p Kevin
* Put in code to make it easy to add the guidebot to multiplayer (coop)
* games
*
* 408 3/30/99 5:36p Matt
* Fixed compile warnings
*
* 407 3/29/99 7:31p Jason
* added better handling of non vis generic objects
*
* 406 3/27/99 2:19p Jason
* transmit rankings when a player joins
*
* 405 3/25/99 1:41p Jason
* took out debug mprintfs
*
* 404 3/25/99 1:41p Jeff
* I'm a moron...forgot to send over player logo stuff on client join...
*
* 403 3/25/99 11:18a Jason
* fixed fog state bug
*
* 402 3/22/99 6:21p Jeff
* added 2 more audio taunts. a mulitplayer event when someone plays an
* audio taunt. option to disable audio taunts.
*
* 401 3/17/99 4:08p Kevin
* Changed the way games appear and timeout in the game list.
*
* 400 3/15/99 3:24p Kevin
* Fixed some ingame file xfer stuff
*
* 399 3/12/99 7:49p Jeff
* save player type changes and objects set to use life left
*
* 398 3/11/99 9:10p Jeff
* fixed remaining known bugs in demo system (DemoWriteObjCreate being
* called twice and </<= problems with
* Highest_room_index/Highest_object_index).
*
* 397 3/11/99 6:30p Jeff
* numerous fixes to demo system in multiplayer games (when
* recording/playback a demo in a multiplayer game)
*
* 396 3/10/99 2:25p Kevin
* Save/Load and Demo file fixes
*
* 395 3/09/99 6:13p Jason
* fixed observer mode changing bug
*
* 394 3/08/99 4:00p Kevin
* Better handling of level-level transitions on the server
*
* 393 3/05/99 1:24p Kevin
* Fixed Stupid Direct serial bug where it would try to join the game
* again and crash
*
* 392 3/04/99 8:50p Samir
* AddColoredHUDMessage is formatted, so when mulitplayer messages went
* out, they would take the % signs and screw up the string. Now it
* doesn't.
*
* 391 3/04/99 3:46p Jason
* fixed some multisafe stuff
*
* 390 3/04/99 3:30p Kevin
* Fixed bug with not downloading files
*
* 389 3/02/99 5:50p Kevin
* Ouch. Duplicate structures existed and were conflicting.
*
* 388 3/01/99 3:15p Jason
* stop velocity when repositioning powerups
*
* 387 2/25/99 8:54p Jeff
* Inventory supports level change persistant items. Inventory supports
* time-out objects. Inventory Reset changed (takes a level of reset
* now). Quad lasers stay across level change (single player). Guidebot
* bug fixed (now back in ship on level start). Quads time out when
* spewed. Invulnerability and cloak powerups no longer use game
* event/callbacks, so they can be saved in game saves (moved to
* MakePlayerInvulnerable and MakeObjectInvisible)
*
* 386 2/25/99 12:44p Jason
* fixed some major multiplayer bugs
*
* 385 2/25/99 11:53a Jason
* fixed marker bug
*
* 384 2/25/99 10:59a Matt
* Added new explosion system.
*
* 383 2/25/99 10:30a Jason
* added nonvis generic/robot system
*
* 382 2/24/99 1:01p Jason
* various fixes for multiplayer
*
* 381 2/24/99 11:21a Jason
* Fixed bugs for OEM build
*
* 380 2/23/99 5:07p Kevin
* Fixed a bug in the multi-xfer
*
* 379 2/23/99 5:00p Jason
* took out mprintfs
*
* 378 2/23/99 4:59p Jason
* fixed another marker problem
*
* 377 2/23/99 3:32p Jason
* fixed marker bug
*
* 376 2/22/99 4:02p Kevin
* Checked CRC before using file in multiplayer file exchange system
*
* 375 2/21/99 10:23a Kevin
* Put in 32k limit for multiplayer in game file xfers
*
* 374 2/17/99 2:12p Jason
* fixed up some coop vis issues
*
* 373 2/17/99 2:08p Jason
* fixed observer mode
*
* 372 2/16/99 3:46p Jason
* added marker updates to multiplayer server stream
*
* 371 2/15/99 4:10p Jason
* made non-vis ships kill all their attached sounds/objects
*
* 370 2/15/99 11:21a Jason
* ripped out client side interpolation
*
* 369 2/13/99 12:35a Jeff
* fixed up packets to handle new inventory system (removed some compiler
* warnings)
*
* 368 2/12/99 5:36p Jason
* temp hacks for permissable client server
*
* 367 2/12/99 3:37p Jason
* added client-side interpolation...its not fully debugged though.
*
* 366 2/10/99 3:48p Jason
* table filter changes
*
* 365 2/10/99 1:47p Matt
* Changed object handle symbolic constants
*
* 364 2/09/99 6:52p Jeff
* implemented 'typing inidcator' in multiplayer...players that are typing
* messages have an icon on them
*
* 363 2/08/99 5:25p Jeff
* removed all calls to MultiSendRemoveObject, incorportated into
* SetObjectDeadFlag. Fixes sequencing issues in multiplayer
*
* 362 2/04/99 7:18p Jeff
* sounds for hud messages
*
* 361 2/04/99 12:26p Jason
* added spew that was better for multiplayer
*
* 360 2/04/99 11:36a Jason
* fixed some multi bugs
*
* 359 2/04/99 11:01a Jason
* added anti cheating to multiplayer
*
* 358 2/03/99 6:32p Jason
* more changes for world states
*
* 357 2/03/99 4:26p Jason
* made multiplayer coop actually work!
*
* 356 2/03/99 4:20p Kevin
* Got multiplayer working with .mn3 files, and setup autodownloading
*
* 355 2/02/99 8:43a Chris
* I made buildings with AI work correctly (ie really big robots should be
* buildings)
* anim to and from states are now shorts instead of bytes
*
* 354 2/01/99 3:47p Jason
* added more multisafe functionality
*
* 353 1/31/99 7:26p Matt
* Renamed a bunch of functions to have HUD capitalized
*
* 352 1/31/99 3:44p Matt
* Streamlined game sequencing
*
* 351 1/31/99 1:03a Jason
* made multiplayer code leaner
*
* 350 1/29/99 5:22p Jeff
* localization
*
* 349 1/28/99 6:17p Jason
* added markers
*
* 348 1/27/99 5:47p Jeff
* audio taunts implemented!
*
* 347 1/26/99 3:25p Jason
* fixed room change flag problem
*
* 346 1/22/99 4:06p Jeff
* added hud messages that can be sent to just teammates or individual
* people
*
* 345 1/21/99 11:15p Jeff
* pulled out some structs and defines from header files and moved them
* into seperate header files so that multiplayer dlls don't require major
* game headers, just those new headers. Side effect is a shorter build
* time. Also cleaned up some header file #includes that weren't needed.
* This affected polymodel.h, object.h, player.h, vecmat.h, room.h,
* manage.h and multi.h
*
* 344 1/21/99 12:38p Jason
* fixed vis problem
*
* 343 1/20/99 8:06p Jeff
* added members into DLLinfo struct for game change segment events, pass
* them over on execute dll packets
*
* 342 1/20/99 2:13a Chris
* It is now possible for robots to have special immunities, resistances,
* and vunerabilities
*
* 341 1/19/99 7:17p Jeff
* fixed powerup pickup problem (Jason)
*
* 340 1/18/99 2:46p Matt
* Combined flags & flags2 fields in object struct
*
* 339 1/18/99 11:10a Jason
* fixed packet mangling problems
*
* 338 1/17/99 11:58p Jeff
* removed call to the change seg event for player, since it's done in
* ObjSetPos(). Also send over collide data on collide event
* (EVT_CLIENT_GAMECOLLIDE)
*
* 337 1/17/99 10:58p Jason
* Took out autolag problems, plus added checksum to each packet
*
* 336 1/15/99 7:52p Chris
* Updated ObjSetPos() to include a f_update_attach_children flag
*
* 335 1/15/99 2:33p Jason
* fixed multiplayer ping bug
*
* 334 1/15/99 3:52a Jeff
* the Multi Do DLL Event function has more data being packed into it
* (point and normal from DLLInfo) for collision data
*
* 333 1/14/99 4:23p Jason
* fixed join bug with dead players
*
* 332 1/13/99 3:37p Jason
* made match collisions less likely to happen by complicating the hash
* generation process
*
* 331 1/13/99 2:56p Jason
* more work on world states
*
* 330 1/13/99 2:53p Jason
* added CONNECT_BAIL packet type
*
* 329 1/13/99 12:43p Jason
* fixed flickering exit menu screen
*
* 328 1/11/99 12:47p Jason
* misc changes for polishing
*
* 327 1/08/99 2:56p Samir
* Ripped out OSIRIS1.
*
* 326 1/06/99 12:34p Jason
* misc changes for multiplayer
*
* 325 1/05/99 5:09p Jason
* added permissable server networking (ala Quake/Unreal) to Descent3
*
* 324 1/04/99 8:11p Jason
* fixed packet loss tracking problem
*
* 323 1/04/99 7:58p Jason
* fixed packet throttling...it didn't work with the new architecture very
* well!
*
* 322 12/30/98 5:24p Kevin
* Added +name to specify a default pilot (for gamespy) fixed a gamespy
* bug, and improved the pxo dll game list screen
*
* 321 12/28/98 2:22p Kevin
* Initial mission downloading system
*
* 320 12/23/98 12:40p Jason
* made player invul for 1 second when respawning
*
* 319 12/21/98 4:04p Jason
* first pass at multisafe powerups
*
* 318 12/21/98 10:22a Jason
* added auto pps
*
* 317 12/18/98 11:40a Jason
* took out some mprintfs
*
* 316 12/16/98 5:37p Jason
* added new multisafe architecture
*
* 315 12/16/98 12:04p Kevin
* GameSpy!
*
* 314 12/15/98 4:20p Jason
* added triggers and door funtions to multisafe list
*
* 313 12/15/98 10:53a Jason
* yet more changes for 1.1
*
* 312 12/14/98 5:32p Jason
* added multisafe functions
*
* 311 12/14/98 11:06a Jason
* changes for 1.1
*
* 310 12/10/98 7:09p Jason
* added cloak fade
*
* 309 12/10/98 5:08p Jason
* more changes for autolag
*
* 308 12/10/98 10:51a Jason
* added autolag
*
* 307 12/08/98 4:52p Jeff
* changed the pilot pics packing to use Ushort instead of short just for
* my conscience...removed some annoying mprintf's too
*
* 306 12/07/98 6:18p Kevin
* Fixed writing pxo stats when ending the level via timer, etc....
*
* 305 12/07/98 3:02p Jason
* added multi_logo_state
*
* 304 12/04/98 7:05p Jason
* fixed problems with peer 2 peer
*
* 303 12/04/98 3:31p Jason
* fixed error in server address
*
* 302 12/03/98 3:39p Jason
* added peer 2 peer style damage
*
* 301 12/02/98 10:30a Jason
* added additional damage types for client-side multiplayer
*
* 300 12/01/98 5:48p Jeff
* added pilot picture id to netplayer struct
*
* 299 12/01/98 3:38p Jason
* send over energy for players
*
* 298 11/23/98 3:11p Kevin
* Demo system
*
* 297 11/23/98 1:50p Jason
* added thruster sounds
*
* 296 11/19/98 11:27a Jason
* added Multi_accept_state for Jeff
*
* 295 11/16/98 4:46p Jason
* changes for multiplayer (weapons load sent and deleting destroyed
* lightmapped objects)
*
* 294 11/13/98 4:25p Jason
* changes for better weapon effects
*
* 293 11/13/98 12:30p Jason
* changes for weapons
*
* 292 11/11/98 7:18p Jeff
* changes made so that a dedicated server's team is always -1 (team game
* or not)
*
* 291 11/11/98 12:11p Chris
* The attach system and weapon firing (continous and spray) are now
* network friendly
*
* 290 11/10/98 4:29p Kevin
* Added attach code for chris
*
* 289 11/10/98 11:16a Jason
* fixed some multiplayer bugs with powerups disappearing
*
*
* 288 11/06/98 5:43p Jason
* made pings sent not reliably
*
* 287 11/03/98 6:16p Chris
* Starting to make on/off and spray weapons accessable to robots
*
* 286 11/02/98 6:53p Jason
* made different game versions not show up in game list
*
* 285 11/02/98 6:41p Jason
* fixed release problems
*
* 284 10/30/98 4:24p Jason
* changes for multiplayer
*
* 283 10/29/98 5:08p Jason
* took out a couple mprintfs
*
* 282 10/28/98 5:25p Jason
* fixed player death problems in multiplayer
*
* 281 10/28/98 5:07p Jason
* more changes for cleaner multiplayer
*
* 280 10/28/98 11:51a Jason
* fixed some multiplayer problems, plus redid coop a bit to make it
* cleaner
*
* 279 10/27/98 10:19a Jason
* changes for new arch
*
* 278 10/22/98 12:28p Kevin
* Fixed pings in peer-peer
*
* 277 10/22/98 10:39a Kevin
* Fixed DirectPlay
*
* 276 10/21/98 7:05p Jeff
* removed int3
*
* 275 10/21/98 5:03p Jeff
* you can only go into observer mode if you are >50 shields
*
* 274 10/21/98 3:04p Kevin
*
* 273 10/21/98 9:48a Kevin
* took out some debugging code and mprintfs
*
* 272 10/20/98 5:46p Kevin
* Gunboy and other fixes
*
* 271 10/20/98 1:48p Jason
* fixed some reliable/unreliable problems
*
* 270 10/20/98 1:38p Kevin
* added mprintf's for debugging
*
* 269 10/20/98 2:53a Kevin
* gunboy crap
*
* 268 10/20/98 12:39a Jason
* took out erroneous checks
*
* 267 10/20/98 12:12a Jason
* fixed stupid bug
*
* 266 10/19/98 11:46p Jason
* changes for multiplayer debug layer
*
* 265 10/19/98 11:20p Matt
* Changed some bytes type ubytes, since bytes are unsigned anyway.
*
* 264 10/19/98 10:37p Jeff
*
* 263 10/19/98 7:51p Kevin
* performance testing
*
* 262 10/19/98 7:18p Matt
* Added system to support different types of damage to the player and
* have these different types make different sounds.
*
* 261 10/19/98 5:17p Jason
* fixed some vis issues (hopefully for good)
*
* 260 10/19/98 5:07p Jason
* put vis stuff back in
*
* 259 10/18/98 7:59p Jeff
* the function used to see if a player is banned has new prototype
*
* 258 10/18/98 2:59p Jason
* fixes for beta4
*
* 257 10/17/98 12:46p Kevin
* Beta 4 fixes
*
* 256 10/16/98 3:19p Jason
* now checks to see if persistant data is same on client/server
*
* 255 10/16/98 2:52p Jason
* trying to debug world states
*
* 254 10/16/98 2:24p Jason
* changes for the demo
*
* 253 10/16/98 1:54p Kevin
* Changes for Demo Beta 4
*
* 252 10/16/98 11:55a Kevin
* Made dlls loadable in a hog
*
* 251 10/14/98 11:23p Jeff
* removed hud messages on player join
*
* 250 10/14/98 1:02p Jason
* fixed FindSoundName issues
*
* 249 10/14/98 11:46a Jason
* made camera scripts work correctly
*
* 248 10/13/98 9:26p Jason
* trying to track down wind problems
*
* 247 10/13/98 2:16a Jeff
* added call to EVT_GAME_DISCONNECTED in MultiLeaveGame()
*
* 246 10/11/98 2:57a Jeff
* added new multiplayer event EVT_GAME_INTERVAL, which is to be called on
* interval, and EVT_HUD_INTERVAL is only to be called when the hud is to
* be rendered
*
* 245 10/08/98 7:30p Samir
* game sequencing changes.
*
* 244 10/08/98 3:38p Jeff
* removed time_left from Netgame
*
* 243 10/07/98 5:05p Jason
* added quaded weapons
*
* 242 10/07/98 1:06p Jason
* added more safety precautions
*
* 241 10/07/98 10:25a Jason
* Now send damage reliably
*
* 240 10/06/98 6:07p Jason
* added protective layer for reliable packets
*
* 239 10/06/98 4:00p Jason
* Reset a players ship at the beginning of a new level
*
* 238 10/05/98 7:23p Jason
* added protective layer onto multiplayer
*
* 237 10/05/98 11:08a Jason
* fixed some potential gap problems in the multiplayer sequencing code
*
* 236 10/02/98 3:26p Chris
* Removed the bug ridden interpolation code
*
* 235 10/01/98 4:58p Kevin
* fixed debug code
*
* 234 10/01/98 2:48p Kevin
* put in debug info for removing a powerup
*
* 233 10/01/98 2:09p Jason
* more fixes to object creation
*
* 232 10/01/98 2:07p Jason
* possible fix for script problems
*
* 231 10/01/98 12:41p Jason
* more world state stuff
*
* 230 10/01/98 12:16p Kevin
* Fixed Ping for Peer-Peer games
*
* 229 10/01/98 12:02p Kevin
* Fixed PXO ping time
*
* 228 10/01/98 11:36a Kevin
* UI fixes and stuff