diff --git a/CHANGELOG.txt b/CHANGELOG.txt index 2123bc950..37f01bf9e 100644 --- a/CHANGELOG.txt +++ b/CHANGELOG.txt @@ -1,5 +1,9 @@ D1X-Rebirth Changelog +20081023 +-------- +main/multi.c, main/network.c: Fixed handling for multi_quit_game; Always keep setting -1 for ping table entry of current player so just not to use any previous entry + 20081022 -------- main/menu.c, main/netdrv_udp.c, main/netdrv_udp.h: Removing reset of Game_screen_mode while change_res Fullscreen toggle (wtf is the point?); Adding a third valid state for UDP peers so we can get more order in handshaking process - should fix problem when two clients join (and shake) simultaniously diff --git a/main/multi.c b/main/multi.c index 400c950df..1a02f565d 100644 --- a/main/multi.c +++ b/main/multi.c @@ -711,6 +711,12 @@ void multi_do_frame(void) #endif network_do_frame(0, 1); + + if (multi_quit_game && !multi_in_menu) + { + multi_quit_game = 0; + longjmp(LeaveGame, 0); + } } //edit 03/04/99 Matt Mueller - some debug code.. ignore if you wish. diff --git a/main/network.c b/main/network.c index 444beb192..2d9f218c5 100644 --- a/main/network.c +++ b/main/network.c @@ -1298,7 +1298,6 @@ void network_process_dump(sequence_packet *their) multi_leave_menu = 1; multi_reset_stuff(); - longjmp(LeaveGame,1); // because the other crap didn't work right return; } // End addition by GF @@ -3532,6 +3531,8 @@ void network_ping_all() int i; static fix PingTime=0; + PingTable[Player_num] = -1; // Set mine to fancy -1 because I am super fast! Weeee + if (PingTime+(F1_0*3) GameTime) { for (i=0; i