From 89ba64d27f33ad6c57feb17592e2e13f6b8858c1 Mon Sep 17 00:00:00 2001 From: Themaister Date: Mon, 14 Feb 2011 22:37:57 +0100 Subject: [PATCH] Borked, borked... --- netplay.c | 9 +++++---- ssnes.c | 2 +- 2 files changed, 6 insertions(+), 5 deletions(-) diff --git a/netplay.c b/netplay.c index 39fa9f3ac5..719ca72b9c 100644 --- a/netplay.c +++ b/netplay.c @@ -359,9 +359,9 @@ static bool get_self_input_state(netplay_t *handle) static void simulate_input(netplay_t *handle) { size_t ptr = PREV_PTR(handle->self_ptr); - size_t prev = PREV_PTR(ptr); + size_t prev = PREV_PTR(handle->read_ptr); - handle->buffer[ptr].simulated_input_state = handle->buffer[prev].is_simulated ? handle->buffer[prev].simulated_input_state : handle->buffer[prev].real_input_state; + handle->buffer[ptr].simulated_input_state = handle->buffer[prev].real_input_state; handle->buffer[ptr].is_simulated = true; //fprintf(stderr, "Predicted output: 0x%hx\n", (unsigned short)handle->buffer[ptr].simulated_input_state); } @@ -394,7 +394,7 @@ bool netplay_poll(netplay_t *handle) handle->read_ptr = NEXT_PTR(handle->read_ptr); - } while ((handle->other_ptr != NEXT_PTR(handle->self_ptr)) && poll_input(handle, false)); + } while ((handle->read_ptr != handle->self_ptr) && poll_input(handle, false)); } else { @@ -414,8 +414,9 @@ bool netplay_poll(netplay_t *handle) } else { + handle->buffer[PREV_PTR(handle->self_ptr)].is_simulated = false; handle->buffer[PREV_PTR(handle->self_ptr)].used_real = true; - //fprintf(stderr, "Frame: %d Used actual input: 0x%hx\n", cnt++, (unsigned short)handle->buffer[handle->self_ptr].real_input_state); + fprintf(stderr, "Used actual input: 0x%hx\n", (unsigned short)handle->buffer[PREV_PTR(handle->self_ptr)].real_input_state); } return true; diff --git a/ssnes.c b/ssnes.c index 2e6560979c..2a1514741c 100644 --- a/ssnes.c +++ b/ssnes.c @@ -774,7 +774,7 @@ static void init_netplay(void) else SSNES_LOG("Waiting for client...\n"); - g_extern.netplay = netplay_new(g_extern.netplay_is_client ? g_extern.netplay_server : NULL, 55435, 0, &cbs); + g_extern.netplay = netplay_new(g_extern.netplay_is_client ? g_extern.netplay_server : NULL, 55435, 4, &cbs); if (!g_extern.netplay) { g_extern.netplay_is_client = false;